problème de fichier & source de programme pour recharger une bdd [PHP] - Programmation
Marsh Posté le 23-05-2001 à 21:58:59
salut
t'as une merde dans ton script a l'ouverture de ton fichier.
fais un test de ce style:
if ($fp){
print"The file exists!";
}
else{
print"The file does not exist";
}
bye
Marsh Posté le 23-05-2001 à 21:26:07
Salut à tous, j'ai un problème avec ce script.
J'arrive à passer l'étape de l'ouverture du fichier mais ensuite j'ai droit aux messages d'erreurs suivants :
Warning: Supplied argument is not a valid File-Handle resource in c:\phpdev\www\bechat_v1_9\chargebase.php on line 10
Warning: Supplied argument is not a valid File-Handle resource in c:\phpdev\www\bechat_v1_9\chargebase.php on line 12
Warning: Supplied argument is not a valid File-Handle resource in c:\phpdev\www\bechat_v1_9\chargebase.php on line 31
La ligne 1 du code correspond au "<?"
Voilà le code que j'utilises. normalement, il marche à part que faute de bonne ouverture de fichier, j'ai pas pus bien testé l'ensemble.
En cas de problème de compréhension d'une partie de ce code, me demander.
merci d'avance à tout ceux qui pourrons m'aider.
--------------------------------
<?
$mode="r";
$mode2="w+";
$taille=0;
$compteur=0;
$fp2=fopen("./charge_base_db".$compteur.".php",$mode2) || die();
if (file_exists("./bechat_db.sql" ))
{
$fp=fopen("./bechat_db.sql",$mode) || die();
$sql=fgets($fp,65000); // charge la première ligne
while (!feof($fp))
{ if ((strrpos($sql,";" )==strlen($sql)-3)
&& ( (ord(substr($sql,strlen($sql)-2,1))==13)
|| (ord(substr($sql,strlen($sql)-2,1))==10) ))
{ echo ord(substr($sql,strlen($sql)-2,1))."$sql<BR>";
if (strlen($sql)>3)
{ fwrite($fp2,"$res=send_sql($db,".substr($sql,0,strlen($sql)-3)." );" );
// sauvegarde de la requête près à être exécuter
$taille=$taille+strlen($sql);
}
$sql="";
if (strpos($sql,"#",0)<1)
{ $sql=$sql."\n".fgets($fp,65000); // charge la ligne suivante
}else
{ //echo "ignore : ".$sql."<BR>";
$sql=fgets($fp,65000); // charge la ligne suivante
}
}else
{ //echo "IGNORE : ".nl2br($sql)."<BR>";
$sql=$sql."\n".fgets($fp,65000); // charge la ligne suivante
}
if ($taille>900000)
{ fclose($fp2) || die();
$compteur=$compteru+1;
$fp2=fopen("./charge_base_db".$compteur.".php",$mode2) || die();
}
}
if (strrpos($sql,";" )==strlen($sql))
{ echo "$sql";
if (strlen($sql)>3)
fwrite($fp2,"$res=send_sql($db,".substr($sql,0,strlen($sql)-3)." );" );
$sql="";
}
fclose($fp);
}
?>
--------------------------------