login  Naam:   Wachtwoord: 
Registreer je!
 Forum

Afbeelding kan niet worden geladen (Opgelost)

Offline thomasje - 07/07/2009 18:50
Avatar van thomasjeMySQL beginner Ik heb een nieuw probleempje, ik ben nu met een systeem bezig wat resultaten uit de DB ophaalt, daarin staat ook een url van een afbeelding van een product. Nu gaat het helaas mis doordat er bij enkele afbeeldingen een foutmelding verschijnt. Het bestand bestaat WEL. Hoe kan ik controleren met een script of de foto ook opgehaald kan worden?

De foutmelding:
Warning: getimagesize(http://www.skihorizon.com/images/newheb/1398/8732/EblanVIIDfcdt1T.JPG) [function.getimagesize]: failed to open stream: HTTP request failed! HTTP/1.0 403 Forbidden in C:\xampp\htdocs\thb\zoekp\bestanden\functie.fotomax.php on line 20

5 antwoorden

Gesponsorde links
Offline Koen - 07/07/2009 19:25
Avatar van Koen PHP expert Zet een @-je voor de functie om zo foutmeldingen te onderdrukken, en als de variabele gekoppeld aan deze functie false is, dan kan de afbeelding niet worden geladen 
Offline jaronneke - 08/07/2009 08:26 (laatste wijziging 08/07/2009 08:27)
Avatar van jaronneke MySQL interesse PHP.net: file_exists

edit: "Forbidden" Kan het zijn dat de afbeeldingen geen 'lees-rechten' hebben? Om de imagesize op te halen ?
Offline dododedodo - 08/07/2009 09:46
Avatar van dododedodo Lid
Koen schreef:
Zet een @-je voor de functie om zo foutmeldingen te onderdrukken


Nooit de @ gebruiken. Dit is een eventueel probleem omzeilen. Het is de bedoeling dat je het oplost ;)
Offline Koen - 08/07/2009 10:04
Avatar van Koen PHP expert
dododedodo schreef:
[..quote..]

Nooit de @ gebruiken. Dit is een eventueel probleem omzeilen. Het is de bedoeling dat je het oplost ;)


Als je gelezen had wat de ts vroeg, dan was je er ook achter gekomen dat het hier wel van toepassing is. De topic starter vraagt namelijk hoe hij te weten komen of het bestand al dan niet te openen valt en of het een afbeelding is. Dit kan je het beste oplossen met mijn methode. Dus niet met file_exists zoals jaronneke opperde, eventueel kan je hiervoor de functie 'remote_file_exists' van Wim gebruiken (zie scriptlibrary). Bovendien kan je nog steeds die foutmelding opvragen met de functie PHP.net: error_get_last, zonder dat je verdere script wordt afgebroken. Omdat je het zo lief vraagt een voorbeeldje van mijn oplossing:

  1. <?php
  2. $aSize = @getimagesize('http://www.skihorizon.com/images/newheb/1398/8732/EblanVIIDfcdt1T.JPG');
  3. if($aSize === false)
  4. {
  5. echo 'Afbeelding kon niet worden geopend.';
  6. //debug: echo '<br />Foutmelding: <pre>', var_dump(error_get_last()), '</pre>';
  7. } else
  8. {
  9. var_dump($aSize);
  10. }
Offline thomasje - 08/07/2009 11:00
Avatar van thomasje MySQL beginner Allen weer hartelijk dank. De laatste code werkt!
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.174s