将文件上载到同一服务器上的子域 - 权限被拒绝

时间:2014-02-22 03:06:26

标签: php linux apache file-upload putty

我正在使用此代码将文件上传到我的服务器。如果我上传到同一台服务器,但如果我上传到同一服务器但不同的cpanel和所有内容的子域,它就无法上传。

这是我的代码:

<?php 
    $url = 'http://www.indiancinemagallery.com/gallery/vaani-kapoor/Vaani-Kapoor-at-Radio-Mirchi-Stills-(9)9678.jpg';
    $img = '/home/path_A/something/test/flower.gif';
    file_put_contents($img, file_get_contents($url));
?> 

我已经为子域提供了正确的路径。

如果我从正在执行文件的位置给出相同服务器的路径,则会上传,否则将无法上传。主要问题是mysql在主服务器中存在,所以我想从主服务器执行文件并将照片存储在子域中并更新主服务器中的详细信息。

警告:(flower.gif:无法打开流:/

中的权限被拒绝

1 个答案:

答案 0 :(得分:0)

这可能是文件权限问题。您的脚本必须具有对$img指向服务器的任何位置的写访问权。

您可以尝试在PHP脚本的顶部添加以下内容,以查看PHP正在抛出的错误/警告(

)吗?
ini_set('display_errors', 1);
ini_set('error_reporting', E_ALL);

这应该告诉你它是否无法写入文件并给你一些信息。

如果在更改权限后仍然无法写入该位置,我认为它是由您的Web服务器管理软件(Web Host Manager,cPanel等)强制执行的,以及它如何配置文件空间。此时,您可能想尝试使用PHP的FTP功能(最好是SFTP以确保安全性):http://php.net/manual/en/wrappers.ssh2.php