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

Форум PHP

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

 

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

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

тема: getimagesize
 
 автор: serjinio   (30.07.2009 в 14:21)   письмо автору
 
 

Вернулся случайно к теме getimagesize ...читаем мануал :
Если к файлу нет доступа или изображение не удается прочитать, то возвращается null и генерируется предупреждение

загружаем Не изображение...проверяем...

<?php
error_reporting
(E_ALL & ~E_NOTICE);
if (
is_uploaded_file($_FILES['f']['tmp_name']) == TRUE
    {
        
$image_info getimagesize($_FILES['f']['tmp_name']);
        if(
$image_info == NULL ) echo '<br/>Не картинка!'.$image_info
        else {echo 
'<pre>';print_r($_FILES);echo '</pre>';}
    }

Никакого предупреждения эта функция не выдает..Почему?

  Ответить  
 
 автор: Trianon   (30.07.2009 в 14:25)   письмо автору
 
   для: serjinio   (30.07.2009 в 14:21)
 

error_reporting(E_ALL & ~E_NOTICE);
?

  Ответить  
 
 автор: serjinio   (30.07.2009 в 14:35)   письмо автору
 
   для: Trianon   (30.07.2009 в 14:25)
 

<?
//error_reporting(E_ALL);
error_reporting(E_ALL E_STRICT);

if (
is_uploaded_file($_FILES['f']['tmp_name']) == TRUE
    {
        
$image_info getimagesize($_FILES['f']['tmp_name']);
        if(
$image_info == NULL ) echo '<br/>Не картинка!'.$image_info
        else {echo 
'<pre>';print_r($image_info);echo '</pre>';}
    }

Ну и что? выводится только
Notice: Undefined index: f 

естественно тк она еще не поступила в массив $_FILES

  Ответить  
 
 автор: sim5   (30.07.2009 в 14:40)   письмо автору
 
   для: serjinio   (30.07.2009 в 14:35)
 

getimagesize возвращет тип изображения, если это изображение, вот это и проверяйте.

  Ответить  
 
 автор: Trianon   (30.07.2009 в 14:47)   письмо автору
 
   для: serjinio   (30.07.2009 в 14:35)
 

Что-то я не пойму, за что Вы борцуете....
За то, чтобы getimagesize(null) делала что-то конкретное?
Это, мягко говоря, шикарный раскат губы...

  Ответить  
 
 автор: serjinio   (30.07.2009 в 14:58)   письмо автору
 
   для: Trianon   (30.07.2009 в 14:47)
 

я хочу понять в каких случаях, согласно мануалу, данная функция выводит сообщение об ошибке
и каким способом...т.е. её (ошибку) увидеть

  Ответить  
 
 автор: sim5   (30.07.2009 в 15:01)   письмо автору
 
   для: serjinio   (30.07.2009 в 14:58)
 

А сперва понять то, что Notice: Undefined index: f к этой функции никакого отношения не имеет? Это сообщение гласит о том, что вы пытаетесь получить элемент массива (память по смещению), которого не существует. То есть, нет такого загруженного изображения.

  Ответить  
 
 автор: serjinio   (30.07.2009 в 15:23)   письмо автору
 
   для: sim5   (30.07.2009 в 15:01)
 

Естественно я об этом писал постом выше...я так понял что эта функция не выводит никаких ошибок!!!...к сожалению...

  Ответить  
 
 автор: sim5   (30.07.2009 в 15:35)   письмо автору
 
   для: serjinio   (30.07.2009 в 15:23)
 

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

  Ответить  
 
 автор: Trianon   (30.07.2009 в 15:41)   письмо автору
 
   для: serjinio   (30.07.2009 в 15:23)
 

Ну зачем явный поклеп пороть-то?!

<?php
print_r
(getimagesize('someabsent1'));
print_r(getimagesize(null));
print_r(getimagesize('someabsent2'));
?>


Warning: getimagesize(someabsent1) [function.getimagesize]: failed to open stream: 
No such file or directory in Z:\home\localhost\www\Tests\tmp\tmp2.php on line 2

Warning: getimagesize(someabsent2) [function.getimagesize]: failed to open stream: 
No such file or directory in Z:\home\localhost\www\Tests\tmp\tmp2.php on line 4


Если бы все функции диагностировали null на входе, в каскадных диагностиках можно было бы утонуть.

  Ответить  
 
 автор: Trianon   (30.07.2009 в 15:22)   письмо автору
 
   для: serjinio   (30.07.2009 в 14:58)
 

Видимо, в ситуации, когда имя файла всё таки подается на вход функции.

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

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