Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
979 connectés 

  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Gestion Warnings

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

[PHP] Gestion Warnings

n°1824980
jay-jay69
Posté le 10-12-2008 à 15:45:27  profilanswer
 

Salut à tous,
 
J'ai une une page PHP qui utilise comme source un fichier xls du site Euronexte (bourse)...
Je l'ouvre via ma page, et je fais plein de traitements etc... tout fonctionne !
 
Mais : de temps en temps (cette page est actualisé tous les 5/10mins), pour une raison mysterieuse, il n'arrive pas à recupérer mon fichier sur Euronext (pb réseau...etc...)... A la limite c'est pas grave, mais quand ca fait ca, j'ai ce genre de warning :
 

Code :
  1. Warning: file(http://www.euronext.com/search/download/pricesearchdownloadpopup.jcsv?pricesearchresults=actif&equitiesChoice=1&structuredProductType=8&requestComesFromSearchBoxParameter=true&lan=EN&resultsTitle=Warrants&cha=1812&underlying=FR0003500008*XPAR*ISIN&instrumentType=3&underlyingType=2&riskLevel=L&format=xls&formatDecimal=.&formatDate=dd/MM/yy) [function.file]: failed to open stream: A connection attempt failed because the connected party did not properly respond after a period of time, or established connection failed because connected host has failed to respond. in C:\Program Files\EasyPHP 2.0b1\www\TAJ Capital\index.php on line 38
  2. Warning: array_slice() [function.array-slice]: The first argument should be an array in C:\Program Files\EasyPHP 2.0b1\www\TAJ Capital\index.php on line 39
  3. Warning: Invalid argument supplied for foreach() in C:\Program Files\EasyPHP 2.0b1\www\TAJ Capital\index.php on line 41
  4. Warning: Division by zero in C:\Program Files\EasyPHP 2.0b1\www\TAJ Capital\index.php on line 361
  5. Warning: Division by zero in C:\Program Files\EasyPHP 2.0b1\www\TAJ Capital\index.php on line 362
  6. Warning: Division by zero in C:\Program Files\EasyPHP 2.0b1\www\TAJ Capital\index.php on line 364
  7. Warning: Division by zero in C:\Program Files\EasyPHP 2.0b1\www\TAJ Capital\index.php on line 365


 
Et je voudrais que quand le warning de ma fonctio file apparaisse, il annule tout le reste...  
 
LA question : comment CAPTER ce warning pour éviter d'executer le reste du code ?
 
merci,
 
m.

mood
Publicité
Posté le 10-12-2008 à 15:45:27  profilanswer
 

n°1824983
Profil sup​primé
Posté le 10-12-2008 à 15:52:02  answer
 

if (false !== @file_get_contents(MonFichier)){
...

n°1824984
skeye
Posté le 10-12-2008 à 15:52:05  profilanswer
 

tu le récupères comment, ton fichier?:o


---------------
Can't buy what I want because it's free -
n°1824986
jay-jay69
Posté le 10-12-2008 à 15:53:46  profilanswer
 

Avec la fonction "file" :

Code :
  1. $f = file("http://www.euronext.com/search/download/pricesearchdownloadpopup.jcsv?pricesearchresults=actif&equitiesChoice=1&structuredProductType=8&requestComesFromSearchBoxParameter=true&lan=EN&resultsTitle=Warrants&cha=1812&underlying=FR0003500008*XPAR*ISIN&instrumentType=3&underlyingType=2&riskLevel=L&format=xls&formatDecimal=.&formatDate=dd/MM/yy" );


 
:) :) :)

n°1824987
esox_ch
Posté le 10-12-2008 à 15:54:19  profilanswer
 

skeye a écrit :

tu le récupères comment, ton fichier?:o


 
Si tu lisais le message d'erreur tu le saurais :o


---------------
Si la vérité est découverte par quelqu'un d'autre,elle perd toujours un peu d'attrait
n°1824989
skeye
Posté le 10-12-2008 à 15:56:57  profilanswer
 

ce serait peut-être une bonne idée de le récupérer en local, et d'ouvrir ensuite la copie locale...sinon ça :

Code :
  1. $f = @file(...);
  2. if(empty($f)){
  3. echo "échec";
  4. }
  5. else{
  6. //traitement normal
  7. }


Message édité par skeye le 10-12-2008 à 15:57:03

---------------
Can't buy what I want because it's free -
n°1824990
skeye
Posté le 10-12-2008 à 15:57:14  profilanswer
 

esox_ch a écrit :


 
Si tu lisais le message d'erreur tu le saurais :o


flemme.[:petrus75]


---------------
Can't buy what I want because it's free -
n°1824993
jay-jay69
Posté le 10-12-2008 à 16:08:26  profilanswer
 

Impecc skeye...
 
J'ai rajouté un petit "@" devant ma fonction file pour masquer le warning... et ca roule !!! :)

n°1825145
Profil sup​primé
Posté le 10-12-2008 à 18:42:06  answer
 

mais pense à arrêter le traitement en cas d'échec :
 

Code :
  1. $f = file("..." );
  2.  
  3. if(is_array($f)) {
  4.    // a priori ok
  5. } else {
  6.    // echec
  7. }


 
Comme file() retourne un tableau, et false en cas d'echec, il suffit de regarder si la valeur de retour est un array correct avec is_array()
 
http://fr.php.net/is_array


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  PHP

  [PHP] Gestion Warnings

 

Sujets relatifs
Créer un fichier HTML aprés execution de la page PHPScript PERL & PHP pour interface CISCO avec carte CSM
[PHP/MySQL/JAVA] Présentation d'un site innovant. Vos réactionsMise à jour PHP
[Résolu] [PHP] Soucis avec HeaderProblème d'exec() d'un programme C++ sous PHP
[PHP] Quel CMS avec module de calendrier utiliser ?Connexion PHP/Oracle
Comparaison de chaines en PHPProblème de gestion d'authentification avec JDBCRealm sous tomcat 6
Plus de sujets relatifs à : [PHP] Gestion Warnings


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR