大,StackOverflow的编辑改变了这个问题,我的标题用蹩脚的英语PHP文件拷贝有空格的文件名
我不能找到一种方法来复制一个文件,在文件名与PHP的空间。我试图用"\ "
替换空间,但它不起作用。
PHP的警告: 副本(/家/用户/图片/蜂窝\ 棉\罗\ 1.JPG): 未能打开流:没有这样的文件或目录
大,StackOverflow的编辑改变了这个问题,我的标题用蹩脚的英语PHP文件拷贝有空格的文件名
我不能找到一种方法来复制一个文件,在文件名与PHP的空间。我试图用"\ "
替换空间,但它不起作用。
PHP的警告: 副本(/家/用户/图片/蜂窝\ 棉\罗\ 1.JPG): 未能打开流:没有这样的文件或目录
处所应不成问题。这可能是一个权限问题。 PHP是否有权限访问该文件?
做一个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');
}
检查一个文件是否存在是一件好事,但它不能解决存在并且不存在的文件的问题。 – Sylverdrag 2011-05-20 10:38:27
如果找不到它,它不存在于您正在查看的路径中! – powtac 2011-05-20 10:39:55
不开玩笑。但是IT不回答这个问题。该OP试图复制一个文件,并触发“找不到文件”错误。显然,OP认为该文件存在于该位置。问题是“为什么找不到文件?”。在您收到错误消息说没有找到文件后添加file_exists()并不能帮助回答问题。唯一会发生的是,OP不会收到原始错误信息,而是会收到您的自定义错误消息,告诉他几乎是同样的事情。 – Sylverdrag 2011-05-20 11:14:17
%20
你的情况替换空间: 副本(/家/用户/图片/蜂窝\%20Cotton \%20Polo \%201。 JPG)
%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);
是什么,如果你不逃个错误信息,请更换空间带反斜杠的空格? – Lasar 2011-05-20 10:33:33