par
ed_013 » 15 juil. 2009, 22:25
Bonjour,
J'ai un probleme avec cette fonction, j'ai recuperer un script qui marchait sur un de mes anciens site mais que je n'arrive plus a mettre en place sur un nouveau, je vous montre le code et le resultat
Code : Tout sélectionner
<?
$uploaded=0; //Initialisation d'un variable qui autorisera ou non l'enregistrement dans la base
$fichier_size = $_FILES['fichier']['size'];
$fichier_name = $_FILES['fichier']['name'];
$fichier_tmp = $_FILES['fichier']['tmp_name'];
if($fichier_size>0) //Si le fichier a une taille
{
$rename=rand(0,100000); //on génère un nombre aléatoire en 0 et 100000 qui sera ajouté à la fin du nom du dossier pour éviter les conflits
$rep= $_SERVER["DOCUMENT_ROOT"]."/metisgwa/data/news/"; //Répertoire où sera stocké ce fichier
echo $rep."<br>";
$fichier_name = str_replace (" ", "_", $fichier_name); //On remplace les éventuels espaces dans le nom du fichier par des underscore
$a = array("ä", "â", "à"); //On remplace les A avec accent par un A normal
$fichier_name = str_replace ($a, "a", $fichier_name);
$e = array("é", "è", "ê", "ë"); //On remplace les E avec accent par un E normal
$fichier_name = str_replace ($e, "e", $fichier_name);
$i = array("ï", "î"); //On remplace les I avec accent par un I normal
$fichier_name = str_replace ($i, "i", $fichier_name);
$o = array("ö", "ô"); //On remplace les O avec accent par un O normal
$fichier_name = str_replace ($o, "o", $fichier_name);
$u = array("ù", "û", "ü"); //On remplace les U avec accent par un U normal
$fichier_name = str_replace ($u, "u", $fichier_name);
$newfichier=$fichier_name; //On met le nom du fichier dans la variable $newfichier
list($nom, $ext) = explode(".", $newfichier); //on sépare en deux le nom et l'extension
$nom = $nom."_".$rename; //Au nom, on rajoute un underscore et le nombre généré
$savefile= $rep.$nom.".".$ext; //On lui rajoute l'extension pour la copie dans le dossier
echo $savefile."<br>";
$nom_complet = $nom.".".$ext;
echo $nom_complet."<br>";
move_uploaded_file($nom_complet, $rep) or die('Impossible de copier le fichier : '.$savefile.mysql_error()); //Le fichier est déplacé dans le dossier prévu
//afichage des variables saisie
echo "<b>Titre du fichier : </b>".$pdf_titre."<br>"; //titre
echo "<b>Description du fichier : </b>".$pdf_description."<br>"; //description
echo "<b>Lien du fichier : </b>".$savefile."<br>"; //Lien
//ecriture dans la base
$sql_insert = "INSERT INTO pdf (pdf_titre, pdf_description, pdf_lien) VALUES ('".$pdf_titre."','".$pdf_description."','".$nom_complet."')";
$res_insert = mysql_query($sql_insert);
//On passe la variable à 1
$uploaded=1;
}
//Sinon, si le fichier n'a pas de taille
else
{
//Si pas de taille, la variable reste à zéro pour empêcher l'écriture dans la base
echo "Le fichier n'existe pas ou la taille n'est pas valide<br>Ecriture impossible dans la base";
$uploaded=0;
}
?>
et le resultat en fonction des echo placés dans le script
c:/program files/easyphp1-8/www/metisgwa/data/news/
c:/program files/easyphp1-8/www/metisgwa/data/news/tourenr_83335.gif
tourenr_83335.gif
Impossible de copier le fichier : c:/program files/easyphp1-8/www/metisgwa/data/news/tourenr_83335.gif
Quelqu'un vois d'ou ca viens ?
Je m'arrache les cheveux la

Bonjour,
J'ai un probleme avec cette fonction, j'ai recuperer un script qui marchait sur un de mes anciens site mais que je n'arrive plus a mettre en place sur un nouveau, je vous montre le code et le resultat
[code]
<?
$uploaded=0; //Initialisation d'un variable qui autorisera ou non l'enregistrement dans la base
$fichier_size = $_FILES['fichier']['size'];
$fichier_name = $_FILES['fichier']['name'];
$fichier_tmp = $_FILES['fichier']['tmp_name'];
if($fichier_size>0) //Si le fichier a une taille
{
$rename=rand(0,100000); //on génère un nombre aléatoire en 0 et 100000 qui sera ajouté à la fin du nom du dossier pour éviter les conflits
$rep= $_SERVER["DOCUMENT_ROOT"]."/metisgwa/data/news/"; //Répertoire où sera stocké ce fichier
echo $rep."<br>";
$fichier_name = str_replace (" ", "_", $fichier_name); //On remplace les éventuels espaces dans le nom du fichier par des underscore
$a = array("ä", "â", "à"); //On remplace les A avec accent par un A normal
$fichier_name = str_replace ($a, "a", $fichier_name);
$e = array("é", "è", "ê", "ë"); //On remplace les E avec accent par un E normal
$fichier_name = str_replace ($e, "e", $fichier_name);
$i = array("ï", "î"); //On remplace les I avec accent par un I normal
$fichier_name = str_replace ($i, "i", $fichier_name);
$o = array("ö", "ô"); //On remplace les O avec accent par un O normal
$fichier_name = str_replace ($o, "o", $fichier_name);
$u = array("ù", "û", "ü"); //On remplace les U avec accent par un U normal
$fichier_name = str_replace ($u, "u", $fichier_name);
$newfichier=$fichier_name; //On met le nom du fichier dans la variable $newfichier
list($nom, $ext) = explode(".", $newfichier); //on sépare en deux le nom et l'extension
$nom = $nom."_".$rename; //Au nom, on rajoute un underscore et le nombre généré
$savefile= $rep.$nom.".".$ext; //On lui rajoute l'extension pour la copie dans le dossier
echo $savefile."<br>";
$nom_complet = $nom.".".$ext;
echo $nom_complet."<br>";
move_uploaded_file($nom_complet, $rep) or die('Impossible de copier le fichier : '.$savefile.mysql_error()); //Le fichier est déplacé dans le dossier prévu
//afichage des variables saisie
echo "<b>Titre du fichier : </b>".$pdf_titre."<br>"; //titre
echo "<b>Description du fichier : </b>".$pdf_description."<br>"; //description
echo "<b>Lien du fichier : </b>".$savefile."<br>"; //Lien
//ecriture dans la base
$sql_insert = "INSERT INTO pdf (pdf_titre, pdf_description, pdf_lien) VALUES ('".$pdf_titre."','".$pdf_description."','".$nom_complet."')";
$res_insert = mysql_query($sql_insert);
//On passe la variable à 1
$uploaded=1;
}
//Sinon, si le fichier n'a pas de taille
else
{
//Si pas de taille, la variable reste à zéro pour empêcher l'écriture dans la base
echo "Le fichier n'existe pas ou la taille n'est pas valide<br>Ecriture impossible dans la base";
$uploaded=0;
}
?>
[/code]
et le resultat en fonction des echo placés dans le script
[quote]
c:/program files/easyphp1-8/www/metisgwa/data/news/
c:/program files/easyphp1-8/www/metisgwa/data/news/tourenr_83335.gif
tourenr_83335.gif
Impossible de copier le fichier : c:/program files/easyphp1-8/www/metisgwa/data/news/tourenr_83335.gif[/quote]
Quelqu'un vois d'ou ca viens ?
Je m'arrache les cheveux la :cry: