Erreur sur script php

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 : Erreur sur script php

Re: Erreur sur script php

par or 1 » 07 août 2024, 20:17

il faut surtout comprendre pourquoi cela rentre dans ce if, parce mettre un exit ne va pas refaire marcher le script.

Re: Erreur sur script php

par doublemetre » 07 août 2024, 19:48

ok merci donc j'ai mis ceci est-ce bien correct?
if ( ftp_get($conn_id, $newfile, $file, FTP_BINARY))

{
    echo "Chargement avec succès du fichier $file\n </br>";
}
else
{
    echo "Il y a eu un problème lors du chargement du fichier $file\n </br>";
	exit;
}
 
// Fermeture de la connexion et du pointeur de fichier
ftp_close($conn_id);

sleep(3); // attendre 3secondes

 /* Fichier à supprimer */
   $fichier = "termine-prix-qte.csv";

 if( file_exists ($fichier))
     unlink( $fichier ) ;

$filename = "prix-qte.csv";
$fileRead = fopen($filename, 'r');
$fileWrite = fopen("termine-prix-qte.csv", "w");
//$sep = "|";

  if (!$fileRead || !$fileWrite) {
    echo "Erreur d'ouverture du fichier de lecture et/ou d'écriture avec $filename.";
	exit;
   
 }

Re: Erreur sur script php

par Saian » 07 août 2024, 13:36

Un exit c'est bien.

Re: Erreur sur script php

par doublemetre » 07 août 2024, 11:47

ok merci pour ton retour, du coup je devrais mettre quoi un exit?

Re: Erreur sur script php

par Saian » 07 août 2024, 11:27

Le message d'erreur dit que fgetcsv reçoit un boléen, on en déduit donc que le fopen a du retourner false et que du coups le script a du passer dans le if !$fileRead mais comme il sagit juste d'un echo, ça ne stoppe pas le script et ça génère cette erreur.

Re: Erreur sur script php

par doublemetre » 07 août 2024, 01:48

Merci pour ta réponse, c'est pour faire un controle si le fichier s'ouvre. j'ai fait faux?

Re: Erreur sur script php

par doublemetre » 07 août 2024, 01:37

j'ai aussi cela dans les logs de mon hébergeur:
monsite.fr [Tue Aug 06 23:31:08.022510 2024] [-:warn] [pid 115273:tid 139685003253504] [client 10.4.23.29:0] FastCGI: too much stderr received from server "/home/clients/f9045810e30c81967a126787c70211ef/.config/apache/monsite.fr/.fpm/php5.external", increase FCGI_SERVER_MAX_STDERR_LINE_LEN (1023) and rebuild or use "\n" to terminate lines
et la ligne 63 c'est ici: while (($data = fgetcsv($fileRead, 0, "|")) !== FALSE) {

Re: Erreur sur script php

par or 1 » 07 août 2024, 01:32

if (!$fileRead || !$fileWrite) {
echo "Erreur d'ouverture du fichier de lecture et/ou d'écriture avec $filename.";

}
cela rentre dans ce if ?

Erreur sur script php

par doublemetre » 07 août 2024, 01:26

bonjour,
mon hébergeur infomaniak ma bloqué mon accès avec cette erreur:
monsite.fr [Wed Aug 07 00:31:40.958049 2024] [-:error] [pid 234716:tid 139686854924032] [client 10.4.23.29:0] FastCGI: server "/home/clients/xxx/.config/apache/monsite.fr/.fpm/php5.external" stderr: ures.ch/import/import-prix-qte.php on line 63PHP message: PHP Warning: fgetcsv() expects parameter 1 to be resource, bool given in
mon script php ouvre et copie un csv et ensuite réordonne les colonne pouvez-vous me dire ce qui ne vas pas dans mon fichier?
cela a bien fonctionné pendant plus de 1 mois.

voici le script
<?php

$ftp_server="ftp";
$ftp_user_name="xxx";
$ftp_user_pass="xxx";
 
// Création de la connexion
$conn_id = ftp_connect("$ftp_server");
 
// Authentification avec nom de compte et mot de passe
$login_result = ftp_login($conn_id, "$ftp_user_name", "$ftp_user_pass");
 
// Vérification de la connexion
if ((!$conn_id) || (!$login_result))
{
    echo "La connexion FTP a échoué!";
    echo "Tentative de connexion à $ftp_server avec $ftp_user_name";
    die;
}
         
echo "Connecté à $ftp_server, avec $ftp_user_name";
 
 
$file = '/out/portal_1817556.csv';
$newfile = 'prix-qte.csv';  // on suppose que le script est a la racine du site web


// Tente de charger le fichier $file
if ( ftp_get($conn_id, $newfile, $file, FTP_BINARY))

{
    echo "Chargement avec succès du fichier $file\n </br>";
}
else
{
    echo "Il y a eu un problème lors du chargement du fichier $file\n </br>";
}
 
// Fermeture de la connexion et du pointeur de fichier
ftp_close($conn_id);

sleep(3); // attendre 3secondes

 /* Fichier à supprimer */
   $fichier = "termine-prix-qte.csv";

 if( file_exists ($fichier))
     unlink( $fichier ) ;

$filename = "prix-qte.csv";
$fileRead = fopen($filename, 'r');
$fileWrite = fopen("termine-prix-qte.csv", "w");
$sep = "|";

  if (!$fileRead || !$fileWrite) {
    echo "Erreur d'ouverture du fichier de lecture et/ou d'écriture avec $filename.";
   
  }
  
      
  fputs($fileWrite,  $data= chr(0xEF) . chr(0xBB) . chr(0xBF));

  while (($data = fgetcsv($fileRead, 0, "|")) !== FALSE) {

  
  
  
   // le commencement des colonne est 0]);
   
   fputcsv($fileWrite, [$data[0],  $data[3], $data[4]], '|');
	
	}

  fclose($fileWrite);
  fclose($fileRead);

echo "copie terminée merci"; 
  ?>

merci d'avance pour votre aide