2010-11-03 6 views
0
function Save($name) 
    { 
     $target_path = "uploads/"; 
     $target_path = $target_path . basename($_FILES['file']['name']); 
     if(move_uploaded_file($_FILES['file']['name'], $target_path)) 
     { 
      echo "The file ". basename($_FILES['file']['name']). 
       " has been uploaded"; 
     } 
     else 
     { 
      echo "There was an error uploading the file, please try again!"; 
     } 

     //save 
     $link = mysql_connect('localhost', 'root', 'root'); 
     if (!$link) { 
      die('Could not connect: ' . mysql_error()); 
     } 
     @mysql_select_db('test') or die("Unable to select database"); 
     $query = "INSERT INTO test (name)" . 
       "VALUES ('" . $name . "')"; 
     mysql_query($query); 
     mysql_close(); 
    } 

L'insertion se produit, mais je ne parviens pas à voir le fichier .txt que je télécharge dans le répertoire uploads /. Mais son inséré dans le fichier DB. Nom complet du fichierINSERT se produit mais le téléchargement ne fonctionne pas

Pourquoi?

+0

Quelle est l'erreur? 'var_dump ($ _ FILES);' et voyez s'il est rempli avec ce que vous attendez. –

Répondre

0

Je doute sa raison d'une autorisation issue.Did u vérifier si vous avez la permission suffisante pour écrire dans le répertoire où vous téléchargez to.Give « Write » l'accès à ce répertoire

0

Votre téléchargement est apparemment échoué, mais la façon dont votre fonction est écrite, l'insertion de la base de données va de l'avant et arrive quand même. Pour commencer, vous pouvez déplacer cette fonctionnalité //save dans l'instruction if (où le message de réussite s'affiche). Au moins, vous n'obtiendrez pas l'enregistrement DB sans le téléchargement. En ce qui concerne les raisons pour lesquelles le téléchargement de fichier échoue, un bon endroit pour commencer à enquêter est: l'existence de, et les paramètres d'autorisation sur, qui télécharge le dossier.

+0

les permissions sont correctes – slandau

+0

Est-il possible de revérifier votre formulaire html - type d'entrée unique = fichier, nom correct, etc? (saisir ...) – LesterDove

+0

Je dis cela parce que le nom que vous insérez dans la base de données n'est pas évidemment dérivé du nom du fichier, mais plutôt l'argument de la fonction, donc ... pourrait vous induire en erreur ... – LesterDove

0

Essayez ceci:

ls -al 
chmod 0777 /uploads 
0

Avez-vous mis la enctype de votre formulaire?

<form method="post" enctype="multipart/form-data" ... 

Il était une Gotcha fréquente il y a pour moi :) années

Questions connexes