Page 1 sur 1
Fichier existent sur un autre serveur
Posté : 13 sept. 2012, 10:51
par rimie
Bonjour,
J'utilise la commande file(url/fichier.mp3) pour verifier si ce fichier.mp3 existe sur un autre serveur, ca prend du temps pour me retourner la reponse, y a t il une autre methode pour le faire, sachant que les 2 serveurs m'appartiennent.
Cordialement
Re: Fichier existent sur un autre serveur
Posté : 13 sept. 2012, 11:30
par xTG
file() lit le fichier et te retourne chaque ligne dans un index d'array.
Donc si c'est tester l'existence c'est pas la bonne méthode.
Regardes du côté de file_exists()

Re: Fichier existent sur un autre serveur
Posté : 13 sept. 2012, 16:07
par rimie
file_exists ne peut pas verifier une url, une location simple:
ca peut faire:
file_exists(fichier.mp3)
mais pas:
file_exists(http://www.site.com/fichier.mp3)
Re: Fichier existent sur un autre serveur
Posté : 13 sept. 2012, 16:11
par xTG
Mais si, mais si.

Mais comme toute fonction sur les fichiers impliquant une machine distante elle est dépendante de la configuration
du paramètre allow_url_fopen du php.ini.
Re: Fichier existent sur un autre serveur
Posté : 13 sept. 2012, 16:43
par rimie
je l'ai essaye meme avec l'option ON:
allow_url_fopen = On
ca donne fichier inexistent, par contre avec file, ca marche:
<?php
$MP3_file = 'http://www.site.com/Downloads/Medias/001.mp3';
if(file_exists($MP3_file))
{
echo 'exists';
}
else
{
echo 'no';
}
?>
<br />
<?php
//001.mp3
$fichier = file($MP3_file);
if($fichier)
{
echo 'fichier 001.mp3 exists';
}
else
{
echo 'fichier 001.mp3 inexistent';
}
?>
Re: Fichier existent sur un autre serveur
Posté : 13 sept. 2012, 16:52
par xTG
Hum exact, le protocole http est pas disponible pour la famille stat, lu un peu trop vite...
Bon sinon fopen().

Re: Fichier existent sur un autre serveur
Posté : 13 sept. 2012, 17:23
par rimie
Les fichiers distants sont traites de la meme reponse serveur, soit: fopen, file,.. ou autres fonctions (file_get_contents)
Merci xTG
Re: Fichier existent sur un autre serveur
Posté : 14 sept. 2012, 08:51
par xTG
Oui sauf que seul fopen() te permettra de juste ouvrir le fichier sans avoir besoin de le lire.
Du coup cela revient strictement à un test d'existence.
Alors que file_get_contents() par exemple te retournera comme file() tout le contenu.
N.B : penser à fclose() ^_^
Re: Fichier existent sur un autre serveur
Posté : 17 sept. 2012, 15:11
par rimie
N.B : penser à fclose() ^_^
Merci beaucoup
