function.file-put-contents 的权限被拒绝警告

发布于 2024-12-22 00:12:16 字数 592 浏览 1 评论 0原文

我正在使用此代码下载动态图像文件,该文件已在我的服务器上,

$url = 'example.com/test/image.php';
$img = 'cert.png';
file_put_contents($img,'file_get_contents($url));

allow_url_fopen 已在服务器上启用。但我仍然收到以下错误

Warning: file_put_contents(cert.png) [function.file-put-contents]: failed 
to open stream: Permission denied in D:/... on line 42

我在另一个网站上看到了相同的错误 http://www.rsi-relief.com/rsi-links/ergonomics-information/ergoweb/

我是 PHP 新手,所以我在这里有点困惑。请帮忙

I'm using this code to download a dynamic image file which is already on my server

$url = 'example.com/test/image.php';
$img = 'cert.png';
file_put_contents($img,'file_get_contents($url));

allow_url_fopen is already enabled on the server. but i'm still getting the following error

Warning: file_put_contents(cert.png) [function.file-put-contents]: failed 
to open stream: Permission denied in D:/... on line 42

I saw the same error on another website http://www.rsi-relief.com/rsi-links/ergonomics-information/ergoweb/

I'm new to PHP so i'm a bit confused here. Pls help

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

心凉 2024-12-29 00:12:16

我猜这与错误的 php 代码无关,而是服务器/主机上的文件系统权限。如果您可以通过 SSH 或 FTP 进行访问,您可以尝试修改文件夹/文件的 cmod 设置。

更新

您的代码错误,请尝试此操作

// this is the path where you need write access on your server
$imgDestinationPath = '/you/need/a/physical/serverpath/here/cert.png';
$url = 'http://example.com/test/image.php';
$content = file_get_contents($url);
file_put_contents($imgDestinationPath, $content);

This has nothing to do with wrong php code i guess, but file system permissions on your server /host. If you have access via SSH or FTP you can try to modify the cmod settings of your folder / file.

Update

Your code is wrong, try this

// this is the path where you need write access on your server
$imgDestinationPath = '/you/need/a/physical/serverpath/here/cert.png';
$url = 'http://example.com/test/image.php';
$content = file_get_contents($url);
file_put_contents($imgDestinationPath, $content);
江挽川 2024-12-29 00:12:16

我建议您尝试使用 filezilla 或某些 FTP 客户端,而不是命令行,右键单击目录并单击文件权限。然后勾选适当的权限并单击确定。这应该有效

Instead of command line, I suggest you try with filezilla or some FTP client, right click on the directory and click on file permissions. then tick appropriate permission and click ok. This should work

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文