Intereting Posts
Вопросы безопасности PHP и AJAX Возврат 2 дат из единого поля для запроса MYSQL db округленное значение десятичной запятой до второй цифры после последнего 0 PHPMailer 5.1 отправляет дубликаты писем при добавлении более 1 приемника Бит не работает в PHP (или, возможно, на любом другом языке) Есть встроенный способ в PHP для синтаксического анализа такой строки: '/path/to/../../up/something.txt' Как я могу реализовать привилегии форума openssl_get_publickey () и завиток "невозможно использовать сертификат клиента" почему строковое выражение возвращает отрицательное значение в php? PHP CGI заменяет имя вызываемого файла в вызовах командной строки exec, вызывая бесконечный цикл Как реализовать систему тегов, аналогичную SO в php / mysql? Получайте только один перевод из API Google Translate Как удалить элемент массива в цикле foreach? Переопределить функцию php по умолчанию? (Eval) Всплывающее окно «Перевод языка» отсутствует в DOM, готовом в браузере: Laravel 5.2

PHP – копирование изображения на мой сервер прямо из URL

Возможный дубликат:
сохранить изображение с php url, используя php

Я хочу, чтобы PHP-код был следующим.

Предположим, у меня есть один URL изображения, например http://img.ruphp.com/php/logo1w.png

Если я запустил один скрипт, это изображение будет скопировано и помещено на мой сервер в папке с правами 777.

Является ли это возможным? Если да, можете ли вы дать направление для этого?

Благодаря,

Ян

Solutions Collecting From Web of "PHP – копирование изображения на мой сервер прямо из URL"

Два способа, если вы используете PHP5

copy('http://img.ruphp.com/php/logo1w.png', '/tmp/file.jpeg'); 

если нет, используйте file_get_contents

 //Get the file $content = file_get_contents("http://img.ruphp.com/php/logo1w.png"); //Store in the filesystem. $fp = fopen("/location/to/save/image.jpg", "w"); fwrite($fp, $content); fclose($fp); 

Из этого сообщения SO

От копирования изображений с URL на сервер удалите все изображения после

 function getimg($url) { $headers[] = 'Accept: image/gif, image/x-bitmap, image/jpeg, image/pjpeg'; $headers[] = 'Connection: Keep-Alive'; $headers[] = 'Content-type: application/x-www-form-urlencoded;charset=UTF-8'; $user_agent = 'php'; $process = curl_init($url); curl_setopt($process, CURLOPT_HTTPHEADER, $headers); curl_setopt($process, CURLOPT_HEADER, 0); curl_setopt($process, CURLOPT_USERAGENT, $user_agent); //check here curl_setopt($process, CURLOPT_TIMEOUT, 30); curl_setopt($process, CURLOPT_RETURNTRANSFER, 1); curl_setopt($process, CURLOPT_FOLLOWLOCATION, 1); $return = curl_exec($process); curl_close($process); return $return; } $imgurl = 'http://img.ruphp.com/php/sausage_3.jpg'; $imagename= basename($imgurl); if(file_exists('./tmp/'.$imagename)){continue;} $image = getimg($imgurl); file_put_contents('tmp/'.$imagename,$image); 
 $url="http://img.ruphp.com/php/logo1w.png"; $contents=file_get_contents($url); $save_path="/path/to/the/dir/and/image.jpg"; file_put_contents($save_path,$contents); 

вы должны иметь allow_url_fopen для on

Этот поток SO поможет решить вашу проблему. Решение вкратце:

 $url = 'http://img.ruphp.com/php/logo1w.png'; $img = '/my/folder/my_image.gif'; file_put_contents($img, file_get_contents($url)); 
 $url = "http://img.ruphp.com/php/image.gif"; $save_name = "image.gif"; $save_directory = "/var/www/example/downloads/"; if(is_writable($save_directory)) { file_put_contents($save_directory . $save_name, file_get_contents($url)); } else { exit("Failed to write to directory "{$save_directory}"); }