2013-03-27 151 views
0

我試圖讓這個文件保存並創建文件,但它總是空的。這是它的代碼:PHP fwrite寫空文件

<?php 

$code = htmlentities($_POST['code']); 

$i = 0; 
$path = 'files/'; 
$file_name = ''; 

while(true) { 
    if (file_exists($path . strval($i) . '.txt')) { 
     $i++; 
    } else { 
     $name = strval($i); 
     $file_name = $path . $name . '.txt'; 
     break; 
    } 
} 

fopen($file_name, 'w'); 
fwrite($file_name, $code); 
fclose($file_name); 

header("location: index.php?file=$i"); 

?> 

我附和了$代碼,以確保它不是空的,而事實並非如此。我也試過更換

fwrite($file_name, $code); 

與此:

fwrite($file_name, 'Test'); 

,它仍然是空的。我已經在PHP中寫過幾次文件,但我仍然對PHP很陌生,我不知道什麼是錯的。有人能告訴我我做錯了什麼或者如何解決這個問題嗎?由於

回答

1

的讀/寫/從文件或流需要資源句柄:

$resource = fopen($file_name, 'w'); 
fwrite($resource, $code); 
fclose($resource); 

資源句柄$resource本質上是一個指針打開的文件/流資源。您與創建的資源句柄進行交互,而不是文件名的字符串表示。

這個概念也存在於cURL。這在PHP中是很常見的做法,特別是因爲PHP在這些方法出現時不支持OOP。

1

拿上php.net看看的samples

+0

哦,謝謝哈哈,我意識到我忘了爲我創建的文件設置一個變量。 – Addison 2013-03-28 00:09:38