php copy()使用目标绝对路径

时间:2014-06-03 11:51:04

标签: php

我不能谷歌任何人不能在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.我错过了什么吗?

2 个答案:

答案 0 :(得分:1)

请执行以下操作:

   if(!@copy($orig_preview, $dest_preview))
    {
        $errors= error_get_last();
        echo "COPY ERROR: ".$errors['type'];
        echo "<br />\n".$errors['message'];
    } else {
        echo "File copied from remote!";
    }

告诉你看到的错误是什么?

绝对路径应该如下:

   $abs =  $_SERVER['PHP_SELF'];

很抱歉发帖作为回答,无法发布评论

答案 1 :(得分:1)

您无法使用HTTP协议复制服务器上的文件。摘自HTTP wrapper

上的PHP文档
  

允许使用HTTP GET方法通过HTTP 1.0对文件/资源​​进行只读访问。

要复制到本地服务器,请使用绝对路径。