fopen работает fwrite нет?не думаю, что это разрешения - PullRequest
0 голосов
/ 29 января 2012

вот мой код:

<?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 в строке 5

и то же самое для fclose в строке 6 ... даже если у file5.php есть разрешения 777.

я использую awardspace.com в качестве моего хоста,

Заранее спасибо за любую помощь.

Ответы [ 2 ]

1 голос
/ 29 января 2012

вам нужно создать потоковый ресурс с помощью fopen, а затем передать его в fwrite:

<?php
$getfromdb = 5;
$filename = 'file'.$getfromdb.'.php';
$ressource = fopen($filename, 'w');
fwrite($ressource, '<?php echo "works!"; ?>');
fclose($ressource);
?>
0 голосов
/ 29 января 2012

Вы пытаетесь записать имя файла вместо дескриптора файла, возвращаемого fopen. Попробуйте этот код:

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