修复了将cUrl输出写入文本文件的权限

时间:2015-01-11 15:55:52

标签: php curl

我正在制作一个Web应用程序,使用cUrl从互联网上抓取一个页面并相应地更新另一个页面。我一直这样做是通过从cUrl保存HTML然后在另一页上解析它。问题是:我无法弄清楚我应该为文本文件使用什么权限。我没有将它保存在我的/ public / html文件夹中,因为我不希望任何网站的用户能够看到它。我只希望他们能够看到它在网站上解析的方式。

这是cUrl代码:

$perfidlist = "" ; 

$sourcefile = "../templates/textfilefromsite.txt";
$trackerfile = "../templates/trackerfile.txt";

//CURL REQUEST 1 OF 2
$ch = curl_init("http://www.website.com");
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1);
<more cUrl options omitted>
ob_start();
$curl2 = curl_exec($ch);
ob_end_clean();
curl_close($ch);

//WRITING FILES
$out = fopen($sourcefile, "r");
$oldfiletext = fread($out, filesize($sourcefile));
fclose($out);

$runcode = 1  ; 

我保存文本文件的部分:

/*only writing a file if the site has changed*/

if (strcmp($oldfiletext, $curl2) !==0)
{
    $out = fopen($sourcefile, "w");
    fwrite($out, $curl2);
    fclose($out);

    $tracker = fopen($trackerfile, "a+");
    fwrite($tracker, date('Y/m/d H:i:s')."\n");
    fclose($tracker);

    $runcode = 1 ; 
}

我收到的错误是最后一次'$ out = fopen($ sourcefile,“w”);'部分说:

Warning: fopen(../templates/textfilefromsite.txt): failed to open stream: Permission denied in /usr/share/nginx/templates/homedir.php on line 72

有什么想法吗?

1 个答案:

答案 0 :(得分:0)

问题出在文件/文件夹权限上。我最终将文件的权限更改为“ 666”,即“ -rw-rw-rw-”,并且可以正常工作。