Всем привет! Сохраняю картинки на сервер с помощью кода: PHP: $url= "https://belpodium.ru/tmp/generate_pic/products/188/311728-main.jpg!740!987!cut.jpg"; $name= "Odezhda_bolshih_razmerov1.jpg"; copy ( $url, $name ); все работает и сохраняется. Как только начинаю подгружать переменную через файл вот так: PHP: $file_array = file("img_file.txt"); $url= $file_array[0]; $name= $file_array[1]; copy ( $url, $name ); Все перестает работать. Подскажите пожалуйста где я что делаю не так? пример txt фаила в закрепе
Потому Попробуй использовать файл php и в нем сохранять переменные и дальше подгружать через require_once.
Попробуй либо в PHP: trim() оберни переменный из массива т.е. PHP: $file_array = file("img_file.txt"); $url= trim($file_array[0]); $name= trim($file_array[1]); copy ( $url, $name ); либо, как уже написали выше, используй FILE_IGNORE_NEW_LINES PHP: $file_array = file("img_file.txt", FILE_IGNORE_NEW_LINES); $url= trim($file_array[0]); $name= trim($file_array[1]); copy ( $url, $name );
ошибка вот эта как я понял Код (Text): Warning: copy(https://belpodium.ru/tmp/generate_pic/products/188/311728-main.jpg!740!987!cut.jpg): failed to open stream: No such file or directory in J:\OPEN_SERVER\domains\lessons.PHP\37\script_1.php on line 12 --- Добавлено --- у тебя проблема в самом текстовом файле, я переписал его и всё нормально. --- Добавлено --- Вот код, всё работает: PHP: <?php $file_array = file("test.dat", FILE_IGNORE_NEW_LINES); echo "<pre>"; print_r($file_array); echo "</pre>"; $url = $file_array[0]; $name = $file_array[1]; //$file = file_get_contents($url); //file_put_contents($name, $file); copy($url, $name); ?> --- Добавлено --- вот архив там всё работает
Сработало, спасибо! А файл обязательно должен быть расширением dat? Проблема была в расширении файла?
@Shtek Посмотрите на сообщение за номером 2. И описание функции file() (по ссылке из своего первого сообщения)
Не, проблема была не в этом, я пробовал, выбивало ошибку, там непонятно вообще что было. Я просто взял создал новый файл, вставил туда URL и NAME, запустил и заработало. Так что, что там было конкретно, не знаю. Я не люблю использовать расширение txt, как правило для тестов использую dat
@Shtek, @AlexandrS, тогда, кроме как на BOM, который присутствует в файле грешить не на что. Но и флаг игнорирования "новой строки" не был лишним
да BOM может много сюрпризов приподнести. как то было из-за него верстка на в некоторых браузерах крошилась, потому что он влез перед <!DOCTYPE html>, а перед доктайпом в принципе ничего быть не должно.