PHP副本文件在文件名中有空格

时间:2011-05-20 10:11:39

标签: php copy

很棒,StackOverflow编辑用英语破解改变了我的问题标题

我找不到用PHP复制文件名中带空格的文件的方法。我尝试用"\ "替换空格,但它也不起作用。

  

PHP警告:   副本(/家/用户/图片/蜂窝\   Cotton \ Polo \ 1.jpg):       无法打开流:没有这样的文件或目录

4 个答案:

答案 0 :(得分:3)

空间应该不是问题。这可能是一个权限问题。 PHP是否有权访问该文件?

答案 1 :(得分:0)

做一个file_exists()拳头:

$fileToCopy = '/home/user/images/Honeycomb Cotton Polo 1.jpg';
$target     = '/var/www/images/';

if (file_exists($fileToCopy)) {
    if (is_readable($fileToCopy)) {
         if (is_writeable(dirname($target))) {
             copy($fileToCopy, $target);
         } else {
             die('You dont have permission to write into '.dirname($target));
         }
    } else {
         die('You dont have permission to read '.$fileToCopy);
    }
} else {
    die('File '.$fileToCopy.' does not exist');
}

答案 2 :(得分:0)

用%20替换空格

在你的情况下: 拷贝(/home/user/images/Honeycomb\%20Cotton\%20Polo\%201.jpg)

答案 3 :(得分:0)

用%20替换空格

$file_path = '/home/user/images/Honeycomb Cotton Polo 1.jpg';
$file_path = preg_replace('/\s/i', '%20', $file_path);

$new_path = '/home/user/images/Honeycomb-Cotton-Polo-1-copy.jpg';

copy($file_path, $new_path);