login  Naam:   Wachtwoord: 
Registreer je!
 Forum

file_exists doet raar

Offline Guardian - 21/10/2007 20:35 (laatste wijziging 21/10/2007 20:36)
Avatar van GuardianNieuw lid wat doe ik verkeerd?

  1. $path = "http://www.mijn_domein.be/img/album/bronzes/detail/";
  2. $foto = "1";
  3.  
  4. if(file_exists($path.$foto.".jpg"))
  5. {
  6. echo "<img src='".$path.$foto.".jpg' border='0'>";
  7. }

Er verschijnt geen foto, ondanks dat de foto fysiek wel bestaat.

5 antwoorden

Gesponsorde links
Offline Pastebin - 21/10/2007 20:39
Avatar van Pastebin Nieuw lid file_exists werkt niet met remote adressen als de server dit niet toelaat (meestal het geval). Check het bestaan van externe paden met sockets/pings/file_get_contents/...
Offline Guardian - 21/10/2007 20:41
Avatar van Guardian Nieuw lid
Pastebin schreef:
Check het bestaan van externe paden met sockets/pings/file_get_contents/...


Wat bedoel je precies?
Hoe kan ik dit doen?
Offline Voldemort - 21/10/2007 20:58
Avatar van Voldemort PHP ver gevorderde Als het op je eigen domein is, dan kan je toch gewoon gebruik maken van ../map/bestand.jpg (deze gaat dan een map lager, dan gaat ie in de map "map" en selecteert ie het bestand "bestand.jpg").


PHP.net: file_exists

php.net schreef:
Opmerking: This function will not work on remote files as the file to be examined must be accessible via the servers filesystem.
Offline ranco - 21/10/2007 21:10
Avatar van ranco PHP gevorderde Daarnaast zit er nog een ander klein foutje in:

Je maakt eerst een variabele met bestandsnaam $$$$$.jpg. Daarna roep je het plaatje op met: Echo.... variabele.jpg
Dus je roept eigenlijk zo een plaatje aan: plaatje.jpg.jpg. En dat is uiteraard niet goed
Offline Wim - 21/10/2007 21:11 (laatste wijziging 21/10/2007 21:30)
Avatar van Wim Crew algemeen anders met fsockopen een connectie naar mijndomein.be openen, en met GET /.../ werken (zoek op internet even de HTTP-(fout)codes. Ik dacht dat 200 een positief resultaat was

//edit:
  1. <?php
  2. function remote_file_exists ($domein, $path, $port = 80)
  3. {
  4. $path = (substr($path, 0, 1) != '/') ? '/'.$path : $path;
  5.  
  6. $sock = fsockopen($domein, 80, $errno, $errstr, 5); //5s timeout
  7. if (!$sock)
  8. return false;
  9.  
  10. $cmd = "GET ".$path." HTTP/1.1\r\n";
  11. $cmd .= "Host: ".$domein."\r\n";
  12. $cmd .= "Connection: Close\r\n\r\n";
  13.  
  14. fwrite($sock, $cmd);
  15. $output = NULL;
  16. while (!feof($sock))
  17. $output .= fgets($sock, 128);
  18.  
  19. fclose($sock);
  20.  
  21. if(preg_match('#200#', $output))
  22. return true;
  23. else
  24. return false;
  25. }


Ik zal het ook bij de scripts zetten
Gesponsorde links
Dit onderwerp is gesloten.
Actieve forumberichten
© 2002-2024 Sitemasters.be - Regels - Laadtijd: 0.183s