학교 과제를 위해 나는 PHP로 스크립트를 작성해야합니다. 이름을 가진 배열을 만들고 파일에 배열을 써야합니다. 그런 다음 배열을 삭제하고 파일의 이름을 읽고 echo합니다.PHP의 파일 IO는 작동하지 않습니다.
이 작동하지 않습니다
<?php
$names = array("Name 1", "Name 2", "Name 3", "Name 4", "Name 5");
$filename = "names.txt";
$handle = fopen($filename, "wb+"); //open as read and write
$string = implode("\r\n", $names); //name on each line
fwrite($handle, $string); //write line
$names = array(); //empty array
print_r($names); //print empty array
$string = fread($handle, filesize($filename)); //read file
$names = explode("\r\n", $string); //lines to array
foreach ($names as $name) {
echo("<br>\n$name");
}
fclose($handle);
?>
하지만이 작동합니다
<?php
$names = array("Name 1", "Name 2", "Name 3", "Name 4", "Name 5");
$filename = "names.txt";
$handle = fopen($filename, "wb"); //open as write
$string = implode("\r\n", $names); //name on each line
fwrite($handle, $string); //write line
fclose($handle); //close
$handle = fopen($filename, "r"); //open as read
$names = array(); //empty array
print_r($names); //print empty array
$string = fread($handle, filesize($filename)); //read file
$names = explode("\r\n", $string); //lines to array
foreach ($names as $name) {
echo("<br>\n$name");
}
fclose($handle);
?>
내가하지 않는 내가 닫고 파일을 다시 열 때 작동하는 이유. 어떤 도움을 주시면 감사하겠습니다.
번째 스크립트가없는 제 옳다. – Lobo
전체 fread/filesize/fclose ordeal을 사용하는 것보다'file_get_contents'와'file_put_contents'를 사용하는 것이 훨씬 쉽습니다. –
@ N.B. 제안을 주셔서 감사합니다,하지만 장은 fopen, fwrite 등에 관한 것입니다 – P1nGu1n