Dediğin gibi, mevcut olmayan bir dosyada kullanılan eğer, getimagesize bir uyarı oluşturur:
Bu kod:
if ($data = getimagesize('not-existing.png')) {
echo "OK";
} else {
echo "NOT OK";
}
bir alacak
Warning: getimagesize(not-existing.png) [function.getimagesize]:
failed to open stream: No such file or directory
A solution would be to use the @ operator, to mask that error :
if ($data = @getimagesize('not-existing.png')) {
echo "OK";
} else {
echo "NOT OK";
}
Dosya yok gibi, $ veri hala yanlış olacaktır; ama herhangi bir uyarı görüntülenir.
Another solution would be to check if the file exists, before using getimagesize ; something like this would do :
if (file_exists('not-existing.png') &&
($data = getimagesize('not-existing.png'))
) {
echo "OK";
} else {
echo "NOT OK";
}
Dosya yoksa, getimagesize denir değil - herhangi bir uyarı anlamına gelir
Yine de, bu çözüm, uzak sunucuya iki kişi demek olacak gibi, (Bu durumda ise) başka bir sunucu üzerinde görüntüler için kullanmak, ve HTTP üzerinden erişilen gereken biri değil.
Yerel görüntülerde, oldukça Tamam olurdu herhalde; Gördüğüm tek sorun maskeli varlık değil, bir okuma hatası olduğunda oluşturulan uyarıdır.
Finally :
- Ben, hataları developpement sunucu üzerinde görüntülenecek sağlayacak
- Ve üretim sunucusundaki bu görüntüler olmaz - bu konuda,
display_errors
a> bakın ;-)