getimagesize() - Read error

dEn

Новичок
getimagesize() - Read error

Есть кусок кода:

PHP:
echo (int)is_file($from);
$image_info = getimagesize($from);
Он периодически выдает ошибку:

Notice: getimagesize() [function.getimagesize]: Read error! in /usr/.../functions.inc.php on line 93

При этом is_file возвращаеет 1. Если вместо is_file ставлю is_readable тоже 1.

В чем может быть проблема?
 

Активист

Активист
Команда форума
проверяй еще размер.
Наблюдается при ошибках upload или при upload, если форму предать повторно по F5.
 

ksnk

прохожий
Хмм.. А это не может быть из за того, что картинка заблокирована чем-то? К примеру, генерится превьюшка на лету?
 

dEn

Новичок
Спасибо!
Файл таки да пустой.
Значит проблема где-то при загрузке.

echo $_FILES['preview']['size'];
выводит: -271;

echo filesize($save_preview_to);
выводит: 0
 

tony2001

TeaM PHPClub
var_dump($_FILES['preview']['error']); ?
да, все $_FILES даже лучше.

только не print_r(), а именно var_dump().
false и пустая строка - это разные вещи и хочется их видеть.
 

dEn

Новичок
PHP:
array(5) {
  ["name"]=>
  string(14) "camel_24_2.jpg"
  ["type"]=>
  string(10) "image/jpeg"
  ["tmp_name"]=>
  string(18) "/var/tmp/phpHyCdpe"
  ["error"]=>
  int(0)
  ["size"]=>
  int(-27)
}
-~{}~ 14.03.08 11:43:

<form action="/index.php?mod=orders" method="POST" enctype="multipart/form-data">
...
<input type="file" name="preview" style="width: 100%">
...
</form>
 

kruglov

Новичок
Активист
Возможно, это проверяется на этапе создания файла, а не на этапе проверки, весь ли он записался.
 

Активист

Активист
Команда форума
kruglov
Не понял, честное слово.

Тоесть apache принял форму (multipart/form-data, причем квота как я понимаю на apache не как не распространяется), отдал ее интерпретатору (в нашем случае это PHP), PHP выделил от туда файл, проверил (на ошибки загрузки), решил записать в upload-dir, но тут получил "Out of quota", решил "а не важно", и положил в error "OK" ?

Если я правильно понял, то это мягко говоря не правильно?
 

dimagolov

Новичок
ну stable сейчас 5.2.5 и ему почти пол года. Если я себе из cvs не собираю php, а беру бинарниками для винды и портами в FreeBSD, то как можно получить revision 1.193?
 

fixxxer

К.О.
Партнер клуба
бинарники для винды можно брать со snaps.php.net, в сборке из исходников как-то вообще не вижу ничего сложного (как и в наложении патчей на порты)
 
Сверху