ďťż
Podstrony
|
telcocafeFunkcja if(is_file($obraz )){spełnia swoją rolę, jeżeli obrazek jest bezpośrednio na serwerze. Natomiast gdy wskazuje na plik spoza np http://www.witryn.pl/obrazek.jpg funkcja stwierdza , że obrazek nei jest plikiem i wywoluje komende brak pliku. Jakiej funkcji użyć, by skrypt był odporny na ten błąd ? <?php function avatar($obraz) { if(is_file($obraz )){ $size = getimagesize($obraz); $wysokosc = $size[1]; $szerokosc = $size[0]; if ($szerokosc > 120) { $szerokosc = 120; $procent = ($size[0] / $szerokosc); $wysokosc = ($size[1] / $procent); } else if ($wysokosc > 90) { $wysokosc = 90; $procent = ($size[1] / $wysokosc); $szerokosc= ($size[0] / $procent); } echo "<img src='$obraz' height='$wysokosc' width='$szerokosc' /> "; } else { echo 'nie ma pliku '. $obraz; } ?> fopen() albo fsockopen() Za pomocą tych sprawdzisz, czy na zew. serwerze jest dany plik :) Probowalem tez z: <?php function url_exists($url) { if ((strpos($url, "http")) === false) $url = "http://" . $url; if (is_array(@get_headers($url))) return true; else return false; } ?> <?php if(is_file($obraz ) || url_exists($obraz)){ ?> ale bez rezulatatu. Po pierwsze: co Ty chcesz osiągnąć, napisz konkretnie (co innego masz w tytule tematu, co innego w treści). Po drugie: stosuj tagi BBCode ([ code ], [/ code]) ;) Po trzecie: popróbuj też z innymi funkcjami, jakie są w komentarzach do file_exists w manualu :) <?php function url_exists($url) { if (!$fp = curl_init($url)) return false; return true; } ?> (Aby to działało, musisz mieć cURL). I wtedy: <?php if (file_exists($fileAddress) || url_exists($fileAddress)) { $file = fopen($fileAddress, 'r'); //i tak dalej } ?> Działa? Ew. sprawdź też to: <?php function url_exists($url){ if(strstr($url, "http://")) $url = str_replace("http://", "", $url); $fp = @fsockopen($url, 80); if($fp === false) return false; return true; } ?> Pamiętam, że efektywnie z tej funkcji korzystałem... Użytkownik pbnan edytował ten post 10 maj 2007, 15:35 |
|||
Sitedesign by AltusUmbrae. |