2014-06-23 2 views
3

Je rencontre un problème lorsque j'essaie de télécharger une image dans ma base de données mysql qui comporte 3 champs: id (incrément automatique), nom d'utilisateur et emplacement de l'image. Le code n'insère que l'emplacement de l'image dans la base de données mais ne copie pas l'image réelle dans le répertoire "profile_pics". Veuillez aider.Impossible de copier l'image php dans le dossier de destination

Ceci est mon code:

<?php 

$connection=mysql_connect("localhost", "root", ""); 
$choose_db=mysql_select_db("ninjacity", $connection) or die (mysql_error()); 

if ($_SESSION['user'] && $_POST['submit']) 
{ 
    function check() // to check if the pic already exists 
    { 
     $username=$_SESSION['user']; 
     $choose_db; 
     $sql_check="SELECT * FROM profile_pics WHERE username='$username'"; 
     $res_check=mysql_query($sql_check) or die (mysql_error()); 
     return mysql_num_rows($res_check); 
    } 

    $name=$_FILES['image']['name']; 
    $tmp_name=$_FILES['image']['tmp_name']; 


     $check=check(); 
     if ($check==1) 
     { 
      echo "You already have a profile pic. IF you wish to change it, please use the 'Edit my Profile' section"; 
     } 
     else 
     { 
      $name; 
      $tmp_name; 
      $username=$_SESSION['user']; 
      $location="profile_pics/$name"; 
      move_uploaded_file($tmp_name, "profile_pics/".$name); 

      $choose_db; 
      $sql="INSERT INTO profile_pics VALUES ('$_POST[id]', '$username', '$location')"; 
      $res=mysql_query($sql) or die (mysql_error()); 
      print "Image successfully uploaded"; 
     } 

} 
else 
{ 
    echo "Please fill all fields"; 
} 


?> 
+0

Activer le rapport d'erreurs. Vérifiez que le dossier dans lequel vous stockez les fichiers de téléchargement dispose des autorisations appropriées. – andrew

+0

vous montrez le format html. – zzlalani

+0

nous montrer votre formulaire – Kimutai

Répondre

2

Avez-vous vérifié l'autorisation du répertoire profile_pics. Il devrait être 777.

Ou le problème lié au chemin (chemin de destination de votre répertoire) que vous avez utilisé dans move_uploaded_file.

+1

0777 autorisations sur un dossier sont le trou de sécurité ouvert, ne jamais définir les droits à 0777. – baldrs

+0

@baldrs est juste, vous devez définir le propriétaire à celui exécute le serveur et les autorisations 744 sont assez – Sal00m

Questions connexes