Toon posts:

[php] checken of link plaatje een 404 is....

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hey,
hoe check ik met php of een link naar een plaatje een 404 oplevert?

ik probeerde het eerst met filesize, en dan wanneer filesize 0 is..............,
maar dat werkte niet goed.

als ik bijv. de link http://www.bla234234sfa9a9aaoalslsl.com/plaatje.gif invoer dan moet hij kunnen zien dat dat plaatje niet bestaat....

Acties:
  • 0 Henk 'm!

Verwijderd

Je kan de validiteit van een URL checken met fopen, zie de manual en het commentaar erbij.

Enjoy :)

Acties:
  • 0 Henk 'm!

Verwijderd

Maar stel nou, dat ik een standaard 404 pagina heb gedefineerd. Dus niet dat standaard ding van windows. Die kan ie gewoon openen. Pakt ie hem dan als geldige url of toch als invalid...

Acties:
  • 0 Henk 'm!

  • tomato
  • Registratie: November 1999
  • Niet online
Als je een goede custom 404 pagina hebt staat er geloof ik in de header dat het een 404 betreft, maakt dus niet uit.

Acties:
  • 0 Henk 'm!

  • brammetje
  • Registratie: Oktober 2000
  • Laatst online: 12-01 11:31
file_exist() ofzo kan toch..

zoek ff in de manual

Acties:
  • 0 Henk 'm!

Verwijderd

file_exists() is alleen lokaal denk ik hoor. Die fopen is beter omdat die ook andere sites kan openen (nouja beter, ligt er natuurlijk aan waar je het voor wil gebruiken)

Acties:
  • 0 Henk 'm!

  • Bart Coppens
  • Registratie: April 2000
  • Laatst online: 25-11-2021
Kan je niet proberen om het type bestand te achterhalen? Ik zie twee mogelijkheden:
- Op de een of andere manier het verschil weten tussen HTML en GIF
- Ik weet niet of dit werkt, maar je kan het iig eens proberen: als je zo'n bestand opent, kan je dan ook de headers bekijken? Zo ja, dan is je probleem opgelost.
[edit]
Is er een mogelijkheid om dit met array getimagesize (string filename [, array imageinfo]) te doen?

Copyright Auteur heeft Tweakers.net BV geen exclusieve licentie op bovenstaande post verleend. Voorafgaande en uitdrukkelijke schriftelijke toestemming van Tweakers.net BV is dus niet noodzakelijk voor het vermenigvuldigen van bovenstaande post


Acties:
  • 0 Henk 'm!

  • dusty
  • Registratie: Mei 2000
  • Laatst online: 17:38

dusty

Celebrate Life!

gebruik fopen en lees de eerste 10 karakters uit.

gif en jpg hebben daar netjes hun tag instaan.

Back In Black!
"Je moet haar alleen aan de ketting leggen" - MueR


Acties:
  • 0 Henk 'm!

  • LuCarD
  • Registratie: Januari 2000
  • Niet online

LuCarD

Certified BUFH

Gebruik fsockopen en parse URL
Stuur dan een een "HEAD /image/plaatje.gif /r/n/r/n"

En dan krijg je alle headers terug. Heb je meer aan

Programmer - an organism that turns coffee into software.


Acties:
  • 0 Henk 'm!

Verwijderd

Dus zoiets:

<?PHP
$file = fopen("http://www.blaatblabla.nl/Plaatje.jpg","r");
$test=FALSE;
if (!$file) {
echo "<B>Bestand bestaat niet!</B>";
exit;
}
fclose($file);
?>

Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Thank you :)

Acties:
  • 0 Henk 'm!

  • MaDDoG
  • Registratie: Maart 2000
  • Laatst online: 15-09 16:16

MaDDoG

De brakste schakel

Ik heb twee jaar later het probleem ook gehad. En ook voor de oplossing met de .htaccess file een oplossing gevonden. Handig voor de volgende zoekende gotters:

plak in .htaccess:
code:
1
2
3
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f
RewriteRule .*\.(jpg|gif)$ /images/404.gif [R,L]

korte uitleg:
RewriteEngine on
RewriteCond %{REQUEST_FILENAME} !-f #als er geen file gevonden wordt...
RewriteRule .*\.(jpg|gif)$ /images/404.gif [R,L] #en de extensie is jpg of gif wordt hij doorgestuurd naar /images/404.gif maar blijft de orginele url intact.

"Computer games don't affect kids. I mean if Pacman affected us as kids,
we'd all run around in a darkened room munching pills and listening
to repetitive music."

Pagina: 1