Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
MySQL 5. В подлиннике. Авторы: Кузнецов М.В., Симдянов И.В. PHP Puzzles. Авторы: Кузнецов М.В., Симдянов И.В. Программирование. Ступени успешной карьеры. Авторы: Кузнецов М.В., Симдянов И.В. PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. Самоучитель PHP 5 / 6 (3 издание). Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Не распознается рисунок
 
 автор: sard   (08.01.2010 в 01:33)   письмо автору
 
 


//в данном куске кода мы вставляем пересылаемое нам изображение 
//в базу данных
if(isset($ufile)){
    if($_FILES['ufile']['type'] == "image/gif" || $_FILES['ufile']['type'] == "image/jpg" || $_FILES['ufile']['type'] == "image/png"){
        $f = fopen($ufile, "rb");
        while(!feof($f))
            $u = fread($f, 65000);
        fclose($f);
        $r = mysql_connect();
        mysql_select_db("primer", $r);    
        $query = "insert into first (id, name, picture) values (NULL, '".$ufile_name."', '".$u."')";
        mysql_query($query);
        mysql_close();
    }
    else {
        echo "Переданный Вами файл не является рисунком!<br>";
    }
}


Пробовал вставлять в форму картинки и gif-формата, и jpg-формата.
Постоянно программа идет по ветке else, т. е. выдается сообщение:
"Переданный Вами файл не является рисунком!"

  Ответить  
 
 автор: kosta_in_net   (08.01.2010 в 02:20)   письмо автору
 
   для: sard   (08.01.2010 в 01:33)
 

1) хранить рисунок в базе - последнее дело :( Он с диска гораздо быстрее считается, чем с базы. Кроме того, КЕШИРОВАНИЕ... Клиент посылает запрос о дате и етегах, а в ответ ему - тишина... Наверное, требование сделать самую медленную систему?
2) а слабо сделать такую вставку:
echo $_FILES['ufile']['type'];
и посмотреть, что ж там за тип такой шлется-то?

  Ответить  
 
 автор: Boeing   (08.01.2010 в 02:23)   письмо автору
 
   для: sard   (08.01.2010 в 01:33)
 

Вы не попали в IF - где-то в условии косяк.

  Ответить  
 
 автор: kosta_in_net   (08.01.2010 в 02:27)   письмо автору
 
   для: Boeing   (08.01.2010 в 02:23)
 

кстати, а что за переменная тут проверяется?
if(isset($ufile)){
?
может проблема в переменной? Может проверять нужно if(isset($_FILES)){ ?

  Ответить  
 
 автор: Boeing   (08.01.2010 в 02:29)   письмо автору
 
   для: kosta_in_net   (08.01.2010 в 02:27)
 

а я почем знаю, что там?:) Факт тот, что первый IF он прошёл, на втором застрял. Ведь ELSE от второго ж идёт, а первый IF закрывается последней фигурной скобкой.

  Ответить  
 
 автор: kosta_in_net   (08.01.2010 в 02:38)   письмо автору
 
   для: Boeing   (08.01.2010 в 02:29)
 

но я бы в любом случае сделал echo $_FILES['ufile']['type']; и посмотрел, что ж там есть

  Ответить  
 
 автор: Boeing   (08.01.2010 в 02:39)   письмо автору
 
   для: kosta_in_net   (08.01.2010 в 02:38)
 

я б тож=)

  Ответить  
 
 автор: aibolit   (09.01.2010 в 23:12)   письмо автору
 
   для: sard   (08.01.2010 в 01:33)
 

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

вариант проверки
if (exif_imagetype($_FILES['pade2']['tmp_name']) == 1 or exif_imagetype($_FILES['pade2']['tmp_name']) == 2)

  Ответить  
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования