Intereting Posts
Могут ли не-анонимные функции в PHP использовать ключевое слово 'use'? Является ли Symfony хорошей основой для изучения? Создание нового поля атрибутов в каталоге-> Управление категориями-> Настройки отображения Как подавить предупреждение в файлах PHP для Netbeans? нужна помощь для теста zend unit Удалите пробелы вокруг определенного символа с помощью preg_replace PHP Предупреждение: mysqli_fetch_assoc () ожидает ровно 1 параметр, 3 заданный в Попытка скомпилировать C-код с PHP Преобразование широты / долготы в название города? (обратная геолокация) Более быстрый веб-сайт, объединяя файлы CSS в одном файле – Laravel Сохранить идентификатор сеанса после входа в систему CakePHP Сравнение временной отметки с текущим временем из базы данных автозапуск на другие сайты php script Цепочки выбираются в jQuery: несколько запросов AJAX Неправильно ли использовать тот же метод для SAVE и UPDATE?

Временное сохранение изображения в php только при отображении на веб-странице

Я хочу получать изображения с другого сайта и показывать на своем сайте. Я хочу сохранить эти изображения на моей стороне временно только во время показа на странице, так что пользователь думает, что изображения приходят с моего сайта. Возможно ли это? Как? Заранее спасибо.

ex: – представьте, что на сервере созданы некоторые графики (некоторые графики мониторинга сети, такие как smokeping), и эти графики хранятся в папке в формате .png .

ex: – imagine_this_url_has_a_graph (но это всего лишь страница)

так что пользователь хочет показать эти графики на другом веб-сайте.

Related of "Временное сохранение изображения в php только при отображении на веб-странице"

Простая система кэширования сделает это. Учитывая HTML-файл, например:

 <body> <img src="imagesource.php?file=1" /> </body> 

Вы можете создать свой источник данных изображений (imagesource.php), например:

 <?php $files = array( 'http://img.ruphp.com/php/f', 'http://img.ruphp.com/php/f' ); if(!isset($_REQUEST['file']) || !isset($files[$_REQUEST['file']])) { header('HTTP/1.0 404 Not Found'); exit; } // do we already have the cached file? $requested_file = $files[$_REQUEST['file']]; $cache_dir = '/tmp/cached_images'; $cache_file = md5($requested_file); $cache_path = $cache_dir . '/' . $cache_file; header('Content-Type: image/gif'); if(file_exists($cache_path)) { readfile($cache_path); exit; } //need to create the cache. $data = file_get_contents($requested_file); file_put_contents($cache_path, $data); echo $data; 

Это будет кэшировать удаленные изображения локально, если они еще не были загружены, и вывести их в браузер по запросу.

Когда запрос изображения делается против вашего сервера, просто используйте fopen() чтобы открыть удаленное изображение, и fpassthru() чтобы передать его.

используйте fileread() вместо fopen() если вы хотите вывести изображение, как оно есть, иначе вы получите сообщение об ошибке.