Вопрос № 58672: Уважаемые Эксперты!
Я делаю скрипт, который из формы заружает файл с изображением и записывает его в базу данных.
Другой скрипт читает файл из базы и выводит картинку.
В базе данных MySQL создана соотв. таблица, в ней поле для картин...Вопрос № 58736: Доброго времени суток, уважаемые эксперты!
Как передавать из формы скрипту файл с компа я знаю, а как сделать так, чтобы на сервер закачивался файл из интернета? Например, указываю урл картинки, а она ко мне на сайт загружалась. именно не показыв...
Вопрос № 58.672
Уважаемые Эксперты!
Я делаю скрипт, который из формы заружает файл с изображением и записывает его в базу данных.
Другой скрипт читает файл из базы и выводит картинку.
В базе данных MySQL создана соотв. таблица, в ней поле для картинок, тип поля - MEDIUMBLOB/
Почему-то скрипт не работает. Такое впечатление, что файл записывается как-то криво.
Код прилагаю, буду признателен за помощь.
Приложение:
Отправлен: 12.10.2006, 14:30
Вопрос задал: chiefff (статус: 1-ый класс)
Всего ответов: 3 Мини-форум вопроса >>> (сообщений: 0)
Отвечает: Козлов А. С.
Здравствуйте, chiefff!
Первое, что приходит на ум при просмотре представленного кода - это режим открытия файла в скриптах upload_photo.php и show_foto.php. Для нормальной работы скриптов рекомендуется указывать режим бинарного чтения/записи, т.е. в скриптах напишите так:
$f=fopen($foto1,"rb");
$f=fopen("images/temp/foto1.jpg","w+b");
--------- Вы доставили мне истинное удовольствие парни, взвалив на меня Ваши проблемы (М. Фрай).
Ответ отправил: Козлов А. С. (статус: 10-ый класс)
Ответ отправлен: 12.10.2006, 14:55 Оценка за ответ: 4 Комментарий оценки: Спасибо, но не помогает
Отвечает: PVS
Здравствуйте, chiefff!
// опускаю кусок, где запись в базу данных
.................................................
// опускаю кусок, где идет чтение из базы данных
Зря. Здесь самое интересное. Предполагаю, что Вы воспользовались функцией addslalses для записи в базу и stripslashes для чтения, а на самом деле слэш - служебный символ SQL'я и, соответственно, вызывать stripslashes не надо
Ответ отправил: PVS (статус: Практикант)
Ответ отправлен: 12.10.2006, 15:15
Отвечает: Дмитрий Иванов
Здравствуйте, chiefff!
советую перед записью в базу воспользоватся функцией
$file=bin2hex($file) - который перегонит бинарный файл в hex вид,
а затем при считывании сделать обратное преобразование
$file=pack("H*",$file);
--------- ставя оценку - подумай, может ты не все описал
Ответ отправил: Дмитрий Иванов (статус: Практикант)
Ответ отправлен: 13.10.2006, 15:07 Оценка за ответ: 5 Комментарий оценки: Спасибо! А я даже урл-кодирование пробовал...
Вопрос № 58.736
Доброго времени суток, уважаемые эксперты!
Как передавать из формы скрипту файл с компа я знаю, а как сделать так, чтобы на сервер закачивался файл из интернета? Например, указываю урл картинки, а она ко мне на сайт загружалась. именно не показывалась, а загружалась!
Отвечает: Козлов А. С.
Здравствуйте, Бобровский Сергей Сергеевич!
Большой разницы между работой с файлами на локальном диске и работой с удаленными файлами нет. При этом и источник файла, и получатель файла может находится в интернете.
Приложение:
--------- Вы доставили мне истинное удовольствие парни, взвалив на меня Ваши проблемы (М. Фрай).
Ответ отправил: Козлов А. С. (статус: 10-ый класс)
Ответ отправлен: 13.10.2006, 08:24
Отвечает: PVS
Здравствуйте, Бобровский Сергей Сергеевич!
Если это не запрещено на сервере, то функцией file Вы можете открывать не только локальные файлы, но и любой URL из Internet'a. Откройте URL картинки и скопируйте ее побайтно в локальный файл
Ответ отправил: PVS (статус: Практикант)
Ответ отправлен: 13.10.2006, 10:23 Оценка за ответ: 5 Комментарий оценки: хостинг платный, думаю можно будет!
Отвечает: Punk_UnDead
Здравствуйте, Бобровский Сергей Сергеевич!
предлагаю к рассмотрению следующий php код
в случае ошибки 403 Forbidden
You must supply a local referer to get URL '/images/down.jpg' from this server.
расмомментируйте строку №6
Приложение:
--------- всё испытано на себе
Ответ отправил: Punk_UnDead (статус: 2-ой класс)
Ответ отправлен: 13.10.2006, 10:51 Оценка за ответ: 4 Комментарий оценки: ого, я такого не знаю :) попробую разобраться!