PHP 复制文件的文件名中有空格

发布于 2024-11-09 04:19:37 字数 182 浏览 0 评论 0原文

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

PHP 警告: 复制(/home/user/images/Honeycomb
棉布\ Polo\ 1.jpg): 无法打开流:没有这样的文件或目录

I can't find a way to copy a file with a space in filename with PHP. I tried replacing a space with "\ " but it doesn't work too.

PHP Warning:
copy(/home/user/images/Honeycomb
Cotton\ Polo\ 1.jpg):
failed to open stream: No such file or directory

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

时间你老了 2024-11-16 04:19:37

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

Spaces should not be a problem. This might be a permission issue. Does PHP have permission to access the file?

不交电费瞎发啥光 2024-11-16 04:19:37

将空格替换为 %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);

Replace spaces with %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);
思念绕指尖 2024-11-16 04:19:37

将空格替换为 %20

在您的情况下:
复制(/home/user/images/Honeycomb\%20Cotton\%20Polo\%201.jpg)

Replace spaces with %20

In your case :
copy(/home/user/images/Honeycomb\%20Cotton\%20Polo\%201.jpg)

故笙诉离歌 2024-11-16 04:19:37

首先进行 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');
}

Do a file_exists() check first:

$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');
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文