Problème Upload PHP/MySQL

Résolu/Fermé
simon59150 Messages postés 65 Date d'inscription vendredi 7 décembre 2007 Statut Membre Dernière intervention 17 avril 2010 - 18 août 2008 à 13:42
dreamfeeder Messages postés 253 Date d'inscription samedi 24 novembre 2007 Statut Membre Dernière intervention 25 juillet 2009 - 18 août 2008 à 16:53
Bonjour,

alors voila, j'ai crée un système de news

en premier (add.php) titre + contenu
en deuxième (add2.php) insertion titre + contenu dans table et choix de l'image
en troisième (add3.php) traitement de l'image et envoi dans un dossier.

Le problème est que l'image n'arrive pas dans le dossier.

Tout le reste fonctionne.

Voici mon code pour le traitement de l'image :

<?php
session_start();

// si la variable de session "login" n'existe pas, le visiteur
// n'a rien à faire ici
if(!isset($_SESSION['login']))
{
	header("location: index.php"); // redirection
	exit; // arrêt du script
}

?>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.1//EN" "http://www.w3.org/TR/xhtml11/DTD/xhtml11.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="fr" >
   <head>
       <title>Intervilles.o-n.fr</title>
       <meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1" />
   </head>
 
<link rel="stylesheet" media="screen" type="text/css" title="Exemple" href="http://www.intervilles.o-n.fr/design.css" />

   <body>
 
       <!-- Le corps -->
 
       <div id="page_principale">
            

Bonjour et bienvenue sur l'administration des news.<br><br>
Ajouter un article :<br><br>

<?php mysql_connect("serveur", "login", "password");

mysql_select_db("ibase");

$pseudo=$_SESSION['login'] ; 
$reponse = mysql_query ("SELECT * FROM articles WHERE login='$pseudo' ORDER BY id DESC LIMIT 1");
while ($donnees = mysql_fetch_array($reponse) or die(mysql_error()."\n".$requete))
{
?>

<?php

if( isset($_POST['upload']) )
{
    $content_dir = 'upload/'; // dossier où sera déplacé le fichier

    $tmp_file = $_FILES['fichier']['tmp_name'];

    if( !is_uploaded_file($tmp_file) );
    {
        exit("Le fichier est introuvable");
    }
    // on vérifie maintenant l'extension
    $type_file = $_FILES['fichier']['type'];

    if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif') && !strstr($type_file, 'png') )
    {
        exit("Le fichier n'est pas une image");
    }

    // on copie le fichier dans le dossier de destination
    $name_file = $_FILES['fichier']['name'];$nom = $_FILES['fichier']['name']; 




if(@rename($_FILES['fichier']['tmp_name'], "upload/". $donnees['id'] .".jpg"));
{ 

echo 'Bravo !';
chmod ("upload/". $donnees['id'] .".jpg", 0777); 
}

else 
{ 
echo "L'image n'a pas été envoyée"; 
}
}?>

<?php
 }
 mysql_close(); // On oubli pas de déconnecter la base de données
?>

       </div>
 
       
 
   </body>
</html>
A voir également:

1 réponse

dreamfeeder Messages postés 253 Date d'inscription samedi 24 novembre 2007 Statut Membre Dernière intervention 25 juillet 2009 54
18 août 2008 à 16:53
bonjour,
remplace:

$name_file = $_FILES['fichier']['name'];$nom = $_FILES['fichier']['name'];




if(@rename($_FILES['fichier']['tmp_name'], "upload/". $donnees['id'] .".jpg"));
{

echo 'Bravo !';
chmod ("upload/". $donnees['id'] .".jpg", 0777);
}

else
{
echo "L'image n'a pas été envoyée";
}


par:

$fichier=$donnees['id'] .".jpg";

if(move_uploaded_file($_FILES['fichier']['tmp_name'], $content_dir . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
{
echo 'Upload effectué avec succès !';
chmod ($content_dir . $fichier, 0777);
}
else //Sinon (la fonction renvoie FALSE).
{
echo 'Echec de l\'upload !';
}
-1