Linux Debian
apache2
PHP Version 4.3.10-16

Bonjour,

J'essaie d'utiliser la fonction fopen() mais ça ne marche pas "failed to open stream: HTTP request failed! ÃM@ in.." .

J'ai tout essayé mais en vain. Surtout que mon script fonctionne très bien sur une autre machine sous windows Xp avec easyphp.

Merci de votre aide,

Stephane

Pour info, je suis un novice donc syez indulgent ...

Voici mon script :
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
<?php
include("conf.php");
include("functions.php");
   $jour=date("j");
   $mois=date("m");
   $annee=date("y");
//***********************************************************************************************************
// Fonction permettant de connaitre le nombre de jour dans le mois
//***********************************************************************************************************   
   function DaysInMonth($mois,$an) {
   if($mois==2)
      if($an%4) return 28;
      elseif($an%100) return 29;
      elseif($an%1000) return 28;
      else return 29;
   elseif(($mois==4)||($mois==6)
      ||($mois==9)||($mois==11)) return 30;
   return 31; 
   }
//***********************************************************************************************************  
 
 if ($jour=='01')
 {
  $mois=$mois-1;
  $jour=DaysInMonth($mois,$annee);
 }
 else
 {
  $jour=$jour-1;
 }
  $today=$jour."/".$mois."/".$annee;
 
//*****************************************************************************************************************************
// création des variables des codes devise
//*****************************************************************************************************************************      
      //========================================
       // Se connecte à la base
       //========================================
       $db_link = mysql_connect($sql_serveur,$sql_user,$sql_passwd);
       //========================================
       // Execute la requête recherchant les Taux enregistrés en base
       //========================================
       $requete1=mysql_db_query($sql_bdd,"SELECT * FROM tbl_nf_devises",$db_link);
       //=========================================
       // initialisation des variables PHP
       //=========================================
   $i=0;
 
 
   //créé un tableau pour afficher les devises
   $Tableau_Devise=array();
 
   reset($Tableau_Devise);
   array_push($Tableau_Devise,' ');
 
    $Tableau_id=array();
   reset($Tableau_id);
   array_push($Tableau_id,' ');
   //=========================================
   // Boucle sur les lignes trouvé
   //=========================================
   while ($row=mysql_fetch_row($requete1))
   {
     $i=$i++;
     $id_devise[$i]=$row[0];
     $symbole[$i]=$row[1];
 
    if ($symbole[$i]=='EUR')
    {
    }
    else
    {
    array_push($Tableau_Devise,$symbole[$i]);
    array_push($Tableau_id,$id_devise[$i]);
 
     }
   }
//*****************************************************************************************************************************    
    $date=$annee."-".$mois."-".$jour;
 
       for ($nb=1;$nb<3;$nb++)
      {
        //$fichier = "<a href="http://www.oanda.com/convert/fxdaily?value=1&date=" target="_blank">http://www.oanda.com/convert/fxdaily?value=1&date=".$mois."%2F".$jour."%2F".$annee."&date_fmt=us&lang=fr&exch=EUR&exch2=&expr2=&dest=Obtenir+la+table&sel_list=ADF_ADP_AED_AFA_ALL_ANG_AON_ARS_ATS_AUD_AWG_BBD_BDT_BEF_BGL_BHD_BIF_BMD_BND_BOB_BRL_BSD_BTN_BWP_BZD_CAD_CHF_CLP_CNY_COP_CRC_CSD_CUP_CVE_CYP_CZK_DJF_DKK_DOP_DZD_ECS_EEK_EGP_ESP_ETB_EUR_FIM_FJD_FKP_FRF_GBP_GHC_GIP_GMD_GNF_GRD_GTQ_GYD_HKD_HNL_HRK_HTG_HUF_IDR_IEP_ILS_INR_IQD_IRR_ISK_ITL_JMD_JOD_JPY_KES_KHR_KMF_KPW_KRW_KWD_KYD_KZT_LAK_LBP_LKR_LRD_LSL_LTL_LUF_LVL_LYD_MAD_MGA_MGF_MMK_MNT_MOP_MRO_MTL_MUR_MVR_MWK_MXN_MYR_MZM_NAD_NGN_NIO_NLG_NOK_NPR_NZD_OMR_PAB_PEN_PGK_PHP_PKR_PLN_PTE_PYG_QAR_ROL_RUB_SAR_SBD_SCR_SDD_SDP_SEK_SGD_SHP_SIT_SKK_SLL_SOS_SRD_SRG_STD_SVC_SYP_SZL_THB_TND_TOP_TRL_TRY_TTD_TWD_TZS_UAH_UGS_USD_UYP_VEB_VND_VUV_WST_XAF_XAG_XAU_XCD_XEU_XOF_XPD_XPF_XPT_YER_YUN_ZAR_ZMK_ZWD&format=CSV&redirected=1</a>";  
      $fichier = "<a href="http://www.oanda.com/" target="_blank">http://www.oanda.com/</a>";  
      $fp = fopen($fichier, "rb");  //ouverture du fichier en lecture
 
      $chaine = $Tableau_Devise[$nb];  //chaine à rechercher (@, \.fr, \.com, ...) 
 
       $ligne=0; 
         while (!feof($fp)) 
         { 
          $page = fgetss($fp, 4096); 
          $ligne = $ligne+1; 
          if ($news = ereg($chaine, $page, $regs)) 
          {
            //PRINT "ligne n° ".$ligne." :".$page." <br>"; 
            $str=$page;
            $tableau = $str;  
            $cours = explode(",", $tableau);
 
            while(list($indice,$valeur)=each($cours))
            {
             $test=$valeur;
            }
 
            $Message="INSERT INTO tbl_nf_details_devises";
            $Message=$Message." (id_devise,date_cours,Taux)";
            $Message=$Message." VALUES ('$Tableau_id[$nb]','$date','$test')";
 
            $Select=mysql_db_query($sql_bdd,$Message,$db_link) or die ('Erreur'.$Message. ' '.mysql_error());
 
          } 
          echo str_pad(" ",300);
           echo "\n";
           ob_flush();
           flush();
         }
       fclose($fp);
       }
mysql_close();
?>