Tester existance d'un fichier

cs_aureludo Messages postés 22 Date d'inscription lundi 23 janvier 2006 Statut Membre Dernière intervention 5 mars 2007 - 23 avril 2006 à 19:38
ImmortalPC Messages postés 954 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 11 novembre 2008 - 24 avril 2006 à 11:42
Bonsoir,

Je suis en train de créer un site qui donne des liens pour des fichiers à télécharger à partir d'autres sites mon problème est que je n'arrive pas à tester la présence de ses fichiers pdf ou zip

la fonction $fp = fsockopen($server,80); me renvoi toujours qu'elle n'accéde pas au serveur. Je suis en train de me demander si cette foonction permet bien d'ouvrir des fichiers style pdf et zip ?

Pourriez vous m'éclairer un peu ? si vous avez une solution

Merci d'avance
Bonne soirée
Ludovic

6 réponses

ImmortalPC Messages postés 954 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 11 novembre 2008 2
23 avril 2006 à 20:33
Salut,
si ton fichier est sur ton serveur tu fais :
<?php
if(is_file('./monfichier.pdf')){
// ok
}else{
// Pas là ^^
}

// Ou
if(file_exists('./monfichier.pdf')){
// ok
}else{
// Pas là ^^
}
?>
is_file est plus rapide ;-)

Et si le fichier n' est pas en local :
<?php
$fichier = 'http://www.immortalpc.free.fr/index.php';// Adresse du fichier
$read_file = @fopen($fichier,'r');
if($read_file){
echo '
Le fichier ',$fichier,' existe.
';//Il existe ;-)
}else{
echo '
Le fichier ',$fichier,' n\' existe pas.
';// Il n'existe pas :'(
}
@fclose($read_file);
?>
@+

Immortal-PC,
téléchargements,astuces ,entre-aide informatique , conseils pour vos problèmes d'ordi.
<!--StartFragment -->Grâce à Immortal-PC votre ordinateur passera les âges.
0
cs_aureludo Messages postés 22 Date d'inscription lundi 23 janvier 2006 Statut Membre Dernière intervention 5 mars 2007
24 avril 2006 à 07:15
bonjour,
merci pour ton aide je viens de tester la fonction fopen car les fichiers se trouvent sur des serveurs distants cela fonctionne mais cela est très très long car c'est des fichiers de plusieurs Mo.
j'ai testé avec un simple fichier txt c'est très rapide, il n'y a pas une astuce pour que cela y aille plus vite :(
encore merci
bonne journée
0
ImmortalPC Messages postés 954 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 11 novembre 2008 2
24 avril 2006 à 11:07
Voilà ;-)

<?php
// Adresse à changer
$serveur = 'http://immortal-pc.info/1.html';

//Parse url
$web = parse_url($serveur);

if(!$fp = fsockopen($web['host'], 80, $num_erreur, $msg_erreur, 30)){
exit('Impossible de se connecter au serveur !!!
'."\r\n"
.'Numéro de l&#39; erreur: '.$num_erreur.'
'."\r\n"
.'Message renvoyé: '.$msg_erreur.'
'."\r\n");
}

fputs($fp, 'GET '.$web['path']." HTTP/1.1\r\n");
fputs($fp, 'Host: '.$web['host']."\r\n");
fputs($fp, "Connection: close\r\n\r\n");

$tmp = fgets($fp, 4096);
if(eregi('404 Not Found', $tmp) || eregi('Not Found', $tmp) || eregi('404', $tmp)){
echo '
Le fichier ',$web['path'],' n&#39; existe pas !
',"\r\n";
}else{
echo '
Le fichier ',$web['path'],' existe pas !
',"\r\n";
}

fclose($fp);
?>

@+

Immortal-PC,
téléchargements,astuces ,entre-aide informatique , conseils pour vos problèmes d'ordi.
<!--StartFragment -->Grâce à Immortal-PC votre ordinateur passera les âges.
0
cs_aureludo Messages postés 22 Date d'inscription lundi 23 janvier 2006 Statut Membre Dernière intervention 5 mars 2007
24 avril 2006 à 11:13
bonjour,
merci pour ton aide mais cela ne fonctionne toujours pas à croire que je demande l'impossible :(
voici l'erreur qui me met :
Impossible de se connecter au serveur !!!
Numéro de l' erreur: 110
Message renvoyé: Connection timed out

pour info l'une des adresses à tester est la suivante : http://support.panasonic.be/shop/data/User_manual/VacuumCleaner/IM_MC-E861_E862_E863_E864_E865_NL_FR.pdf

encore merci pour tout
@+
ludo
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ImmortalPC Messages postés 954 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 11 novembre 2008 2
24 avril 2006 à 11:13
Re,
désolé pour la faute d' orthographe :
echo '
Le fichier ',$web['path'],' existe !
',"\r\n";
J 'avais oublié d' enlever le pas :$
Comme quoi faut pas faire des copié collé ^^

@+

Immortal-PC,
téléchargements,astuces ,entre-aide informatique , conseils pour vos problèmes d'ordi.
<!--StartFragment -->Grâce à Immortal-PC votre ordinateur passera les âges.
0
ImmortalPC Messages postés 954 Date d'inscription mardi 11 mai 2004 Statut Membre Dernière intervention 11 novembre 2008 2
24 avril 2006 à 11:42
Re,
je comprend pas en local c' est nikel mais sur un serveur ça marche pas :$
Surement un réglage au niveau du fichier php.ini
Si il y en a un qui as une idée :S

Immortal-PC,
téléchargements,astuces ,entre-aide informatique , conseils pour vos problèmes d'ordi.
<!--StartFragment -->Grâce à Immortal-PC votre ordinateur passera les âges.
0
Rejoignez-nous