Mail d'alerte si le fichier n'est pas présent...

El doc
Invité n'ayant pas de compte PHPfrance

27 oct. 2006, 17:07

Bonjoir,

J'voulais juste savoir si j'avais une erreur dans mon script car malgré la présence du fichier sur le serveur ca m'envoie le mail d'alerte :'(
<?
//Fichier es-tu là ?
$path = "ipduserveurdestreaming/";
$file = date("Hi", floor((time()-15*60)/60/15)*15*60).".ext";
if (!file_exists($path.$file)){
mail("mon adresse","Réveille-toi du con !","Le fichier ".$path.$file." n'existe pas. Je suis dur avec moi-même mais il le faut :)");
}
?>
Y a t-il un truc à faire du côté du serveur de streaming ? Paramètrage ou autre ?

Merci

El doc

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

27 oct. 2006, 17:23

Faudrait pas spécifier le http devant une ip ?
De plus tu es sur que ton fichier existe vraiment ? (en affichant le nom généré du fichier et en le testant manuellement)

Sinon je vois pas trop l'intérêt de diviser par 15 puis 60 pour multiplier juste après par 15 et 60 : floor(time()-15*60) me semble plus simple pour un même résultat nan ?
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

Invité
Invité n'ayant pas de compte PHPfrance

30 oct. 2006, 16:56

Rebonjour et merci Ryle (toujours les mêmes ;))

En fait j'indique ceci : mms://000.00.000.00/AudioVideo/, ca devrait fonctionner non ?

Le fichier est bien présent est le mail par quand même :?

Pour le calcul, je ne me suis pas relu, c'est toi qui a raison :)

El doc

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

30 oct. 2006, 17:40

C'est quoi comme protocole le mms ? c'est supporté par file_exists() ou par php ? (Cf. http://us2.php.net/manual/fr/wrappers.php)

Tu as essayé de pointer vers une simple page html pour vérifier s'il la trouvait bien et ne t'envoyait pas de mail du coup ? (faut commencer avec des trucs simple :))
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

El doc
Invité n'ayant pas de compte PHPfrance

31 oct. 2006, 11:25

Re,

J'ai testé avec du plus simple en distant, toujours rien. Du coup, j'ai fait un test en local et là encore rien. J'ai finalement essayé en chemin relatif en local et là MAGIE !!!!

La fonction file_exists ne serait dispo qu'en local et relatif ???? Ca me parrait bizarre mais pourquoi pas. J'y vois un peu plus clair mais du coup mon truc de tester sur un serveur distant tombe à l'eau :'(

Si quelqu'un a une soluce ou ne serait-ce qu'une piste je suis preneur ^^

El doc

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

31 oct. 2006, 11:59

Peut être que CECIpourra t'aider

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

Avatar du membre
Modérateur PHPfrance
Modérateur PHPfrance | 10684 Messages

31 oct. 2006, 12:04

Quelle version de php est-ce que tu utilises ?
D'après la doc ce n'est qu'avec la version 5 qu'elle fonctionne sur les url : "Depuis PHP 5.0.0 cette fonction peut aussi être utilisée avec quelques protocoles url. "

En revanche, un chemin absolu (sur le système de fichier, pas l'url) devrait fonctionner.

Dans les commentaires il y a un bout de code pour tester une url distante avec fopen :
<?php
function url_exists($url)
{
 $handle = @fopen($url, "r");
 if ($handle === false)
  return false;
 fclose($handle);
 return true;
}
?> 
Edit : Les fonctions de ripat sont peut être plus judicieuses effectivement :)
Ce n'est pas en améliorant la bougie que l'on a inventé l'ampoule...

El doc
Invité n'ayant pas de compte PHPfrance

31 oct. 2006, 15:34

Re moi,

J'ai essayé ceci :
<?php
$url="mms://ip/dir/monfichierendur.sonextension"; 
ini_set ("user_agent", "NSPlayer/9.0.0.2980");
function remote_file_exists ($url){
ini_set("allow_url_fopen", "1");
if (@fclose(@fopen($url, "r"))) {
return true;
} else {
return false;
}
}
if (remote_file_exists($url)=="true") {
mail("[email protected]","No problemo","Fichier présent");
}else{
mail("[email protected]","Warning","Fichier attendu");
}
?>
Ce code me renvoie FALSE quoiqu'il arrive alors que le fichier est bien présent si je tappe l'url en dur dans la barre d'adresse :'(

Pourquoi ???!!!!

El doc

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

31 oct. 2006, 15:42

Ptet bien pour le "true" qui est considéré comme chaine de carctères :
if (remote_file_exists($url) == true)
ou
if (remote_file_exists($url))

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

El doc
Invité n'ayant pas de compte PHPfrance

31 oct. 2006, 16:48

J'ai essayé les 2 solutions que tu proposais mais sans succès (merci quand même). Je n'ai plus qu'à me pendre à mon câble RJ45 :'(.

***** [Zeus : Allons, un peu de tenue ;)]!!!!!!!!!!!!!!! Ca fait du bien, c'est pas constructif mais ca fait du bien. Je continue mes recherches...

C'est p'tet nivo serveur de streaming qu'il y a un truc à faire non ?

El doc

El doc
Invité n'ayant pas de compte PHPfrance

02 nov. 2006, 11:01

***** [Zeus : Allons, un peu de tenue ]!!!!!!!!!!!!!!!
LOL

Sinon, personne n'a jamais eu à faire ceci ? Si demain, je veux tester depuis mon site qu'une image est bien présente sur le site de PHP FRANCE http://www.phpfrance.com, je ne peux pas le faire ?

;)

El doc

Modérateur PHPfrance
Modérateur PHPfrance | 7636 Messages

02 nov. 2006, 11:36

As tu essayé de travailer avec le script de Ripat (lien donné précédemment)

/!\ Avant de poster se documenter et rechercher.
Qui ne sait pas rendre un service n'a pas le droit d'en demander.
MaBrute

El doc
Invité n'ayant pas de compte PHPfrance

08 nov. 2006, 11:49

Oui, j'ai essayé la méthode de ripat mais la librairie CURL ne semble pas être installée et je n'ai pas la main sur le serveur. J'ai essayé pleins de choses, ptit script perso aux ressources du web, sans succès... Ca marche à chaque fois bien quand le script traite des fichiers du serveur sur lequel il se trouve mais dès qu'il s'agit de serveur distant, c'est la M***E ! :'(

Que faire ?

El doc

El doc
Invité n'ayant pas de compte PHPfrance

09 nov. 2006, 13:04

Personne ? Ca me semble bizarre, je ne dois pas être la seule personne qui a voulu faire cela un jour en PHP ?

Merci de votre aide - J'essaie autre chose...

El doc

El doc
Invité n'ayant pas de compte PHPfrance

14 nov. 2006, 15:27

Toujours rien :cry:

El doc