Gegroet,
Ik probeer dus al een tijdje een script te formuleren dat controleert of een bestand bestaand (plaatje) zo ja, dan moet hij er iets mee doen, zo niet, dan niks.
Nu heb ik al diverse scripts van internet gehaald maar niks lijkt te werken. Het bestand staat op een externe server die niet in mijn beheer is. Ik heb dus nu iets gemaakt als;
if (file_exists($urlimg)) {
print "The file $urlimg exists";}
else {
print "The file $urlimg does not exist";}
Probleem, hij geeft altijd false aan, ook als de plaatjes er wel degelijk zijn. iemand een idee/tip voor mij?
Evenementen voor de komende 60 Dag(en)
Resultaten 1 tot 10 van de 10
Onderwerp: PHP file_exists
-
25/07/05 09:40Default user298 Berichten- Ingeschreven
- 24/12/04
- Locatie
- Rotterdam
0 Berichten zijn liked
Registrar SIDN: nee
KvK nummer: 2435773000
Ondernemingsnummer: nvt
PHP file_exists
-
25/07/05 10:04
-
25/07/05 10:12Default user298 Berichten- Ingeschreven
- 24/12/04
- Locatie
- Rotterdam
0 Berichten zijn liked
Registrar SIDN: nee
KvK nummer: 2435773000
Ondernemingsnummer: nvt
Hoi, bedankt. Was hier echter al geweest. Maar hij blijft gewoon heel eigenwijs teruggeven dat het bestand er niet is.
Wat ik me afvraag, als ik een url-path opgeef wat vanaf iedere pc bereikbaar is (iets zoals de header van webhostingtalk.nl) dan moet hij die toch als 'bestaand' zien of kan het zo zijn dat de server door bepaalde instellingen toch tegen 'file_exists' zegt dat dat bestand er niet is?
-
25/07/05 10:25geregistreerd gebruiker18 Berichten- Ingeschreven
- 13/07/05
- Locatie
- Lochristi
0 Berichten zijn liked
Registrar SIDN: Nee
<?php
$url = "http://www.google.be/index.html";
$bestand = fopen ($url, "r");
if (!$bestand) { echo "Het bestand $url bestaat niet.\n"; }
else { echo "Het bestand $url bestaat.\n"; }
exit;
?>
-
25/07/05 10:29Default user298 Berichten- Ingeschreven
- 24/12/04
- Locatie
- Rotterdam
0 Berichten zijn liked
Registrar SIDN: nee
KvK nummer: 2435773000
Ondernemingsnummer: nvt
bedankt, zal hier even mee aan de slag gaan. Ziet er goed uit.
-
25/07/05 10:47de functie file_exists werkt nml puur op de OS zelf. zodat je dus kan controleren of een bestand op de server zelf staat, niet remote.
file_exists functie valt nml onder de filesystem functies :-)
voor remote kan je inderdaad het beste gebruiken wat Iano aangeeft.
-
25/07/05 10:48Als je inderdaad op php.net/file_exists was geweest, had je dit gezien:
En dan had je dus een oplossing als die van Iano moeten gebruiken (wat je nu waarschijnlijk ook doet).Opmerking: This function will not work on remote files as the file to be examined must be accessible via the servers filesystem.
Jochem
- advertentie
-
25/07/05 10:56moderator3.758 Berichten- Ingeschreven
- 16/05/04
- Locatie
- Middelburg
102 Berichten zijn liked
Registrar SIDN: Ja
Dit lijkt me wat netter en minder foutgevoelig.
Code:<?php function get_http_code($p_sHost,$p_sGet){ $request = "GET ".$p_sGet." HTTP/1.1\r\n"; $request .= "Host: ".$p_sHost."\r\n"; $request .= "User-Agent: PHP\r\n"; $request .= "Connection: Close\r\n\r\n"; $fs = fsockopen($p_sHost,80,$err,$inf,5); fputs($fs,$request); $response = fread($fs,12); $http_code = trim(str_replace('HTTP/1.1','',$response)); return $http_code; } if(get_http_code('www.webhostingtalk.nl','index.php') == 200) echo 'De URL bestaat'; else echo 'De URL bestaat niet'; ?>
-
25/07/05 12:32moderator6.567 Berichten- Ingeschreven
- 29/07/03
- Locatie
- Nijmegen
123 Berichten zijn liked
Bedrijf: Mijn-Sleutel
URL: www.mijn-sleutel.com
Registrar SIDN: Ja
KvK nummer: 09139651
Hierbij functie van wido iets aangepast om op meerdere http codes te controleren.
PHP Code:function get_http_code($p_sHost,$p_sGet)
{
$request = "GET ".$p_sGet." HTTP/1.1\r\n";
$request .= "Host: ".$p_sHost."\r\n";
$request .= "User-Agent: PHP\r\n";
$request .= "Connection: Close\r\n\r\n";
$fs = @fsockopen($p_sHost,80,$err,$inf,5);
@fputs($fs,$request);
$response = @fread($fs,12);
$http_code = trim(str_replace('HTTP/1.1','',$response));
// volledige lijst met codes & uitleg rfc2616 hoofdstuk 10.x
if ($http_code == 200)
{
return true;
}
elseif ($http_code == 301)
{
return true;
}
elseif ($http_code == 302)
{
return true;
}
else
{
return false;
}
}
$domain = 'www.mijn-sleutel.net';
$filedir = '/index.php';
if(get_http_code(''.$domain.'',''.$filedir.''))
{
echo 'De URL bestaat';
}
else
{
echo 'De URL bestaat niet';
}
-
25/07/05 12:34Default user298 Berichten- Ingeschreven
- 24/12/04
- Locatie
- Rotterdam
0 Berichten zijn liked
Registrar SIDN: nee
KvK nummer: 2435773000
Ondernemingsnummer: nvt
Hoi,
Ben er inmiddels al iets meer achter waar het zit. Met mijn eerste functie kijkt hij of hij iets van respons krijgt op die bestandsnaam. De host heeft zijn 404 overal achtergeplakt dus er is altijd wel iets van een reactie op de aanvraag. Thnx voor jullie hulp!



LinkBack URL
About LinkBacks
