【发布时间】:2014-07-23 17:56:35
【问题描述】:
我无法搜索无法在 copy() 目标中使用绝对路径的任何地方。然而,
$baseUrl_master_MM = "http://mysite.öä/MM/";
$img_dir = 'img_1';
$img = '01.jpg';
$orig_online = $baseUrl_master_MM.$img_dir.'/'.$img;
$dest_online = '../../mm_img/'.$img_dir.'-online.jpg';
$copy = copy($orig_preview, $dest_preview);
工作正常,但与绝对路径相同
$baseUrl_master_MM = "http://mysite.öä/MM/";
$baseUrl_master_MM_online = "http://mysite.öä/mm_img/";
$img_dir = 'img_1';
$img = '01.jpg';
$orig_online = $baseUrl_master_MM.$img_dir.'/'.$img;
$dest_online = $baseUrl_master_MM_online.$img_dir.'-online.jpg';
$copy = copy($orig_preview, $dest_preview);
不会出错,也不会复制任何文件。
目标目录存在,权限为 777。我错过了什么吗?
【问题讨论】:
-
是的,你错过了一些东西。当源是一个 URL 时,PHP 足够聪明地为您下载它(它实际上为此使用 HTTP - 它不知道它是您的网站/当前网站),然后当您尝试在目标中使用它时,它显然放弃了,因为它不能只上传到网站。只需使用绝对 server 路径(
eg. /home/user/www/mm_img/或C:\wamp\www\mm_img\)。dirname(__FILE__)将为您提供当前文件的目录。绝对路径与绝对 URL 不同。 -
你使用的不是服务器的绝对路径,而是公共网址。如果你真的想要绝对路径,请看这个问题:stackoverflow.com/questions/4645082/…
-
如果不是评论,我会将 H2o*n 的评论标记为正确答案..
标签: php