對於學校任務,我必須用PHP編寫腳本。它必須創建一個名稱爲數組並將數組寫入文件。然後它必須刪除數組,讀取文件中的名稱並回顯它們。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
使用'file_get_contents'和'file_put_contents'工作要容易得多,而不是使用整個fread/filesize/fclose ordeal。 –
@ N.B。感謝您的建議,但該章是關於fopen,fwrite等 – P1nGu1n