Файлы копирования PHP имеют пробелы в имени файла - PullRequest
0 голосов
/ 20 мая 2011

Отлично, редактор StackOverflow изменил название этого вопроса на ломаном английском

Я не могу найти способ скопировать файл с пробелом в имени файла с помощью PHP.Я попытался заменить пробел на "\ ", но он тоже не работает.

Предупреждение PHP: copy (/ home / user / images / Honeycomb \ Cotton \ Polo \ 1.jpg): не удалось открыть поток: нет такого файла или каталога

Ответы [ 4 ]

3 голосов
/ 20 мая 2011

Пробелы не должны быть проблемой. Это может быть проблема с разрешением. Есть ли у PHP разрешение на доступ к файлу?

0 голосов
/ 11 февраля 2017

Заменить пробелы на% 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);
0 голосов
/ 13 сентября 2014

Заменить пробелы на% 20

В вашем случае: копия (/home/user/images/Honeycomb\%20Cotton\%20Polo\%201.jpg)

0 голосов
/ 20 мая 2011

Do a 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');
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...