|
|
|
| Здравствуйте, таким образом вывожу картинку из поля в бд(BLOB)
если там картинка нужно ее показать , а если что то другое, не нужно
header("Content-type: image/gif");
$res=mysql_query("SELECT photo FROM `table` WHERE id='$var'")
or die("SQL ERROR in line ".__LINE__.", function mysql_query");
while (list($photo) = mysql_fetch_array($res)) {
echo "$photo";
}
|
как можно реализовать проверку??? | |
|
|
|
|
|
|
|
для: ren
(03.06.2008 в 22:55)
| | может лучше и в БД не засовывать, если не картинка, а? ... | |
|
|
|
|
|
|
|
для: ren
(03.06.2008 в 22:55)
| | Во-первых, действительно лучше не засовывать, а во-вторых, если уж очень хочется через БД, то проверку можно делать как минимум двумя способами. Первый - если известен фомат картинки, то проверять на наличие характерных участков (они указаны в спецификации формата). Второй - записать данные из BLOB в файл и проверить его mime-тип. Но это напоминает чистку зубов через нос=) | |
|
|
|
|
|
|
|
для: Киналь
(03.06.2008 в 23:09)
| | согласен, лучше не засовывать, а как проверить, является ли файл картинкой? | |
|
|
|
|
|
|
|
для: ren
(03.06.2008 в 23:35)
| | Я же написал. Либо по характерным участкам, либо по mime-типу. | |
|
|
|
|
|
|
|
для: ren
(03.06.2008 в 23:35)
| | открыть его by imagecreatefromgif и сохранить by imagegif - на выходе точно окажется картинка. | |
|
|
|
|
|
|
|
для: Trianon
(04.06.2008 в 00:05)
| | а когда файл выбираю в элемент
<input name="name1" type="file" >
| , можно затем осуществить проверку, картинка этот файл или нет? | |
|
|
|
|
|
|
|
для: ren
(04.06.2008 в 00:15)
| | нужно. | |
|
|
|
|
|
|
|
для: Trianon
(04.06.2008 в 00:29)
| | =) а как ? | |
|
|
|
|
|
|
|
для: ren
(04.06.2008 в 00:50)
| | Именно так, как предложил Киналь и/или я | |
|
|
|
|
|
|
|
для: Trianon
(04.06.2008 в 01:44)
| | таким образом я проверю gif-формат
$pic_path = "./tmp/".$_FILES["photo_file"]["name"];
$im = @imagecreatefromgif($pic_path);
if (!$im) echo("файл не гиф!!!");
else echo("файл гиф");
|
а как реализовать проверку bmp,jpg,png??? | |
|
|
|
|
|
|
|
для: ren
(04.06.2008 в 15:10)
| | > таким образом я проверю gif-формат
Ну это очень зря. Посмотрите exif_imagetype(), getimagesize(). | |
|
|
|
|
|
|
|
для: BinLaden
(04.06.2008 в 15:22)
| | то что надо, спасибо | |
|
|
|
|
|
|
|
для: ren
(04.06.2008 в 16:40)
| | exif_imagetype(), требует подключения библиотеки. | |
|
|
|
|
|
|
|
для: ren
(04.06.2008 в 16:40)
| | >exif_imagetype() не захотела работать.
Нужно подключить библиотеку php_exif.dll
P.S. Кстати эта функция пошустрее чем getimagesize() | |
|
|
|
|
|
|
|
для: AcidTrash
(04.06.2008 в 16:48)
| | Да, шустрее, но требует подключения. | |
|
|
|
|
|
|
|
для: sim5
(04.06.2008 в 17:16)
| | >Да, шустрее, но требует подключения
Если на платном нормальном хостинге, то должна быть подключена.
С точки зрения безопасности (для хостингов) она не представляет опасности.
Если на своих машинах(серверах), соответственно хозяин-барин, взять и подключить. | |
|
|
|
|
|
|
|
для: AcidTrash
(04.06.2008 в 21:08)
| | Собственно да, но на хорошем, а у нехороших так к техподдержке даже не достучаться.) | |
|
|
|
|
|
|
|
для: sim5
(04.06.2008 в 21:26)
| | to Sim5
Вы меня даже заинтриговали :)
Нехороший хостинг, это самопальная контора в подвале? :)
Если так, то не спорю. :) | |
|
|
|
|
|
|
|
для: AcidTrash
(04.06.2008 в 21:35)
| | Ну почему, никакой интриги, вроде все чинно сперва было, но потом, после перехода на РНР5, начались проблемы (не кода скриптов, а именно на хосте), потом, видимо, сменился хозяин и вообще ни до кого не достучаться было, как повымерли. :) Это такой случай был с моим знакомым, а хост реально располагался в Канаде. | |
|
|
|
|
|
|
|
для: ren
(04.06.2008 в 15:10)
| | $pic_path = $_FILES["photo_file"]["tmp_name"]; , причем, если загружен успешно. | |
|
|
|
|
|
|
|
для: sim5
(04.06.2008 в 16:15)
| | ага, чтоб работала функция нужно сперва грузить
extension=php_mbstring.dll
а потом
extension=php_exif.dll
в php.ini
спасиб всем кто откликнулся | |
|
|
|
|
|
|
|
для: ren
(04.06.2008 в 16:51)
| | правильно :) | |
|
|
|