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

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Mail d'alerte si le fichier n'est pas présent...

par Cyrano » 14 nov. 2006, 16:33

Est-ce que la configuration du serveur distant autorise le fopen() distant ? Vérifie dans le phpinfo() si cette fonction ne serait pas désactivée et si tu n'y a pas accès, demande à l'administrateur du serveur en question, lui saura te dire ce qu'il en est.

par El doc » 14 nov. 2006, 16:28

Enfin un retour :)

Merci pour l'astuce mais en admettant que je n'ai pas la main sur le serveur. Y a t-il un paramétrage particulier du serveur distant (streaming) à faire pour que le script fonctionne ? Je pense que le problème vient de là. J'ai souvent lu ceci :

Aussi longtemps que le support des gestionnaires d'URL ("URL fopen wrapper") sont activés dans le php.ini

El doc

Ps : Si j'ai pas le choix je prendrais le problème à l'envers comme indiqué :wink:

par Cyrano » 14 nov. 2006, 16:03

Proposition de méthode alternative : si tu n'arrives pas à ouvrir le fichier distant, et qu'en fait tu veux juste en vérifier la présence, utilise une ruse; sur le serveur distant, mets un fichier php qui te retourne un booléen : étant local, ce script n'aura aucun problème pour tester la présence du fichier. Il faudra donc que ton script appelle la page distante et récupère le retour.

par El doc » 14 nov. 2006, 15:27

Toujours rien :cry:

El doc

par El doc » 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

par El doc » 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

par Truc » 02 nov. 2006, 11:36

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

par El doc » 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

par El doc » 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

par Truc » 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))

par El doc » 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

par Ryle » 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 :)

par Truc » 31 oct. 2006, 11:59

Peut être que CECIpourra t'aider

par El doc » 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

par Ryle » 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 :))