PHP fopen ($ url, w) - PullRequest
       60

PHP fopen ($ url, w)

1 голос
/ 22 февраля 2012
$url="http://www.source.com/top";
$destination=fopen("/var/www/vhosts/domain.com/httpdocs/temp/" . date('m-d-Y'),"w");
echo "dest=$destination<br>";
echo "url=$url<br>";
$source=fopen($url,"r");
$maxsize=5000000000;
$length=0;
while (($a=fread($source,1024))&&($length<$maxsize))
{
$tmpfile=$tmpfile . $a;
$length=$length+1024;

}        
    fwrite($destination,$tmpfile);
fclose($source);
fclose($destination);

Над исходным кодом PHP работает как талисман на моей учетной записи общего хостинга.Тем не менее, он не может записать файлы на моей выделенной машине Linux Centos.На этой машине Centos исходный $ url может читать нормально, но эта строка:

     $destination=fopen("/var/www/vhosts/domain.com/httpdocs/temp/" . date('m-d-Y'),"w");

Не удается записать файл в окно Linux.Я попытался запустить приведенный выше код под пользователем root linux (например, php file-name.php) и смог создать файл, однако не смог прочитать исходный файл:

     $destination=fopen("/var/www/vhosts/domain.com/httpdocs/temp/" . date('m-d-Y'),"w");

Я получаю ошибку 403.Я очень смущен тем, что происходит с этой машиной Linux Centos.Как я уже писал ранее в этом окне Centos, у меня есть проблема Переменные сеанса возвращают пустое между отправкой на той же странице.Любая помощь приветствуется.

1 Ответ

3 голосов
/ 22 февраля 2012

Почему бы просто не сделать?:

<?php 
error_reporting(E_ALL);/*Debug any permission problems*/
$url="http://www.source.com/top";
$temp="/var/www/vhosts/domain.com/httpdocs/temp/".date('m-d-Y').".tmp";

file_put_contents($temp,file_get_contents($url));
?>
...