很棒,StackOverflow编辑用英语破解改变了我的问题标题
我找不到用PHP复制文件名中带空格的文件的方法。我尝试用"\ "
替换空格,但它也不起作用。
PHP警告: 副本(/家/用户/图片/蜂窝\ Cotton \ Polo \ 1.jpg): 无法打开流:没有这样的文件或目录
答案 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);