У меня есть txt файл, содержащий около 400 URL-адресов для изображений (выдержка ниже). Я написал сценарий ниже, чтобы быстро загрузить файлы с одного сервера на другой (без доступа ssh).
Текстовый файл - pics.txt
http://www.domain.com/pictures/name.jpg
http://www.domain.com/pictures/name1.jpg
http://www.domain.com/pictures/name2.jpg
http://www.domain.com/pictures/name3.jpg
http://www.domain.com/pictures/name4.jpg
Мой простой скрипт PHP:
$file = fopen("pics.txt", "r");
while(!feof($file)){
$line = fgets($file);
$filename = basename($line);
$imagename = "tmp/$filename";
echo "Trying to copy ".$line." to: ".$imagename;
if (copy($line,$imagename)) {
echo "Done file ".$line;
} else {
echo "Error occured";
}
}
fclose($file);
Однако это не работает. Я просто получаю:
Trying to copy http://www.domain.com/pictures/name.jpg to: tmp/name.jpg Error occured
Trying to copy http://www.domain.com/pictures/name1.jpg to: tmp/name1.jpg Error occured
Trying to copy http://www.domain.com/pictures/name2.jpg to: tmp/name2.jpg Error occured
Если я вручную напечатаю copy('http://www.domain.com/pictures/name.jpg', 'filename.jpg');
он отлично работает?
Любые идеи, что я делаю неправильно?
По просьбе, и для будущих читателей вопрос о том, что на самом деле проблема.
Ваш файл содержит \n
для каждой строки и является символом скрытого файла, добавляя пространство к вашему URL, в свою очередь, нарушая его истинный путь.
Использование trim()
избавится от лишних пробелов.
Использовать отчет об ошибках:
Из комментариев:
"Спасибо, оба, я включил отчет об ошибках и заметил, что он помещает пробел после URL-адреса, хотя в текстовом файле нет его. - Крис"
а также
"@Крис, что великий Крис (приветствую вас), и я рад, что он был разрешен. Однако и для будущих читателей на вопрос ответ был действительно не решением. Я не хочу звучать как плохой человек здесь или перепутайте все воздушные шары, не поймите меня неправильно. Однако в этом случае вы должны были использовать
trim()
чтобы избавиться от конечных пробелов. Пространства поступают из скрытого\n
в файл, который добавляет пространство. - Фред -ii- "