controle op bestaande bestanden (PHP) met XML response
Door
Kenneth Dehouwer
op 11-04-2011 15:04
gewijzigd op 13-04-2011 08:48
2.971 views
Ik ben al een bepaalde tijd bezig met een script maar ik zou niet weten hoe ik dit klaar kan krijgen.
Ik ben aan het proberen een PHP-script te maken dat moet controleren of bepaalde bestanden bestaan (bv. video's op een bepaalde server). En het script zou dan een xml-response moeten teruggeven.
Waar gaat het mis? Controleren of een bestand bestaat, en vervolgens op basis daarvan een antwoord geven is niet zo lastig:
<?php
echo file_exists($_GET['file']) ? 'yes' : 'no';
?>
edit: uitgebreider voorbeeld dat [php]XMLWriter[/php] gebruikt om een antwoord in XML te geven:
<?php
function respond_xml($status, $message)
{
$out = new XMLWriter();
$out->openURI('php://output');
$out->setIndent(true);
function main()
{
header('Content-type: text/xml');
if (!isset($_GET['file']))
respond_xml('ERROR', 'file parameter missing');
else if (file_exists($_GET['file']))
respond_xml('OK', 'file exists');
else
respond_xml('NIETOK', 'file does not exist');
}
Het probleem is eigenlijk dat ik niet weet hoe ik de locatie van het bestand moet opgeven en hoe ik een xml response moet teruggeven.
[size=xsmall]Toevoeging op 13/04/2011 10:19:13:[/size]
@ Jelmer rrrr: Bedankt hiervoor, nu kan ik al wel een beetje verder.
Maar nu was ik mij wel aan het afvragen hoe ik dit uitvoer of dit kan testen?
Het is namelijk lang geleden dat ik nog met PHP gewerkt heb.
Wat ik dus al eerder gezegd heb:
"Ik ben aan het proberen een PHP-script te maken dat moet controleren of bepaalde bestanden bestaan (bv. video's op een bepaalde server). En het script zou dan een xml-response moeten teruggeven."
Bedankt Jelmer voor deze code.
Ik heb dit getest en het werkt ook.
Maar nu zit ik namelijk met een ander probleem:
Het script zou eigenlijk eerst 5 keer de melding moeten geven van dat het bestand niet bestaat, en na de 5e keer zou hij moeten weergeven dat het bestand wel bestaat.
En er zou ook nog iets moeten inkomen dat hij een time-out geeft na dat hij het bestand niet vind na bv. 50 keer proberen.
Ik ben terwijl ook even nog aan het googelen naar antwoorden.
Bedankt
<?php
function respond_xml($status, $message)
{
$out = new XMLWriter();
$out->openURI("php://output");
$out->setIndent(true);