2012-01-29 45 views
-1

這裏是我的代碼:fopen作品fwrite不?不認爲這是權限

<?php 
$getfromdb = 5; 
$filename = 'file'.$getfromdb.'.php'; 
fopen($filename, 'w'); 
fwrite($filename, '<?php echo "works!"; ?>'); 
fclose($filename); 
?> 

我已經改變了所有的文件目錄中的777個權限。文件'file5.php'被創建,但有664個權限,所以我將它設置爲777權限。當我然後運行該程序它給了我錯誤:

警告:fwrite():提供的參數不是有效的流資源/srv/disk4/865173/www/fishtaco.mypressonline.com/sitequinetest.php on第5行

和第6行上的fclose相同......即使'file5.php'有777個權限。

即時通訊使用的「awardspace.com」作爲我的主人,

在此先感謝您的幫助。

+2

你需要一個文件句柄,而不是一個文件名:'$計劃生育=的fopen($文件名, 'W'); fwrite($ fp,...);' – Sim 2012-01-29 12:46:05

回答

1

您需要創建的fopen流的ressource,然後把它傳遞給使用fwrite:

<?php 
$getfromdb = 5; 
$filename = 'file'.$getfromdb.'.php'; 
$ressource = fopen($filename, 'w'); 
fwrite($ressource, '<?php echo "works!"; ?>'); 
fclose($ressource); 
?> 
0

您嘗試寫入一個文件名,而不是由fopen返回的文件句柄。試試這個代碼:

$fp = fopen($filename, 'w'); 
if($fp) { 
    fwrite($fp, '<?php echo "works!"; ?>'); 
    fclose($fp); 
}