PHP:将文件从站点A复制到站点B


PHP: Copy file from site A to site B

我有一台服务器,里面有30个网站。现在我想把一个文件从站点a复制到站点B。

代码:

$sExternPath  = str_replace(strtolower(SITENAME), strtolower($aBoardInfo['name']), CORE_PATH_PRIVATE); 
$sNewLogo     = file_get_contents(CORE_PATH_PRIVATE.'users_upload/company_logos/'.$sFileName);
//Put it in the folder 
file_put_contents($sExternPath.$sFileName, $sNewLogo);

错误:

[20-Mar-2015 10:32:30]PHP警告:file_put_contents()[function.file-put-contents]:open_basedir限制生效。文件(/var/www/vhosts/SITEB.nl/private/logo.jpg)不在允许的路径范围内:(/var/ww/whosts/SITEA.nl/:/tmp/),位于第1262行

[2015年3月20日10:32:30]PHP警告:file_put_contents(/var/www/vhosts/SITEB.nl/private/logo.jpg)[function.file-put-contents]:无法打开流:在/var/www/vhosts/SITEA.nl/httpdocs/pages/login/script.PHP的1262 行

/var/www/vhosts/SITEB.nl在open_basedir设置中的树集之外-您需要编辑php.ini文件并将open_basedir设置更改为'/var/www/vhosts/:/tmp/'而不是'/var/ww/whosts/SITEA.nl/:/tmp/',或者通过注释将其取消设置,然后重新启动apache。

http://php.net/manual/en/ini.core.php#ini.open-basedir

当脚本尝试访问文件系统时,例如使用include或fopen(),会检查文件的位置。当文件在指定的目录树之外时,PHP将拒绝访问它。所有符号链接都已解析,因此使用符号链接无法避免此限制。如果文件不存在,则无法解析符号链接,并将文件名与(已解析的)open_basedir进行比较。