RFpro.ru: Программирование на PHP

  Все выпуски  

RusFAQ.ru: Программирование на PHP


РАССЫЛКИ ПОРТАЛА RUSFAQ.RU

/ КОМПЬЮТЕРЫ И ПО / Языки программирования / PHP

Выпуск № 491
от 18.10.2006, 08:05

Администратор:Калашников О.А.
В рассылке:Подписчиков: 374, Экспертов: 56
В номере:Вопросов: 2, Ответов: 6


Вопрос № 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
Доброго времени суток, уважаемые эксперты!
Как передавать из формы скрипту файл с компа я знаю, а как сделать так, чтобы на сервер закачивался файл из интернета? Например, указываю урл картинки, а она ко мне на сайт загружалась. именно не показывалась, а загружалась!
Отправлен: 13.10.2006, 07:58
Вопрос задал: Бобровский Сергей Сергеевич (статус: Посетитель)
Всего ответов: 3
Мини-форум вопроса >>> (сообщений: 0)

Отвечает: Козлов А. С.
Здравствуйте, Бобровский Сергей Сергеевич!
Большой разницы между работой с файлами на локальном диске и работой с удаленными файлами нет. При этом и источник файла, и получатель файла может находится в интернете.

Приложение:

---------
Вы доставили мне истинное удовольствие парни, взвалив на меня Ваши проблемы (М. Фрай).

Ответ отправил: Козлов А. С. (статус: 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
Комментарий оценки:
ого, я такого не знаю :) попробую разобраться!


Отправить вопрос экспертам этой рассылки

Приложение (если необходимо):

* Код программы, выдержки из закона и т.п. дополнение к вопросу.
Эта информация будет отображена в аналогичном окне как есть.

Обратите внимание!
Вопрос будет отправлен всем экспертам данной рассылки!

Для того, чтобы отправить вопрос выбранным экспертам этой рассылки или
экспертам другой рассылки портала RusFAQ.ru, зайдите непосредственно на RusFAQ.ru.


Форма НЕ работает в почтовых программах The BAT! и MS Outlook (кроме версии 2003+)!
Чтобы отправить вопрос, откройте это письмо в браузере или зайдите на сайт RusFAQ.ru.


© 2001-2006, Портал RusFAQ.ru, Россия, Москва.
Идея, дизайн, программирование: Калашников О.А.
Email: adm@rusfaq.ru, Тел.: +7 (926) 535-23-31
Авторские права | Реклама на портале
Версия системы: 4.37 от 04.10.2006
Яндекс Rambler's Top100

В избранное