PHP Warning: move_uploaded_file() dans l'impossibilité de se déplacer

J'ai commencé à apprendre le PHP et ont trouvé une multitude d'informations sur le sujet et les solutions postées par d'autres développeurs. Je suis d'essayer d'avoir une application android télécharger un fichier PHP serveur via HTTP post. Cependant, quelque chose ne fonctionne pas sur mon serveur, côté wile la tentative d'écriture dans un fichier en PHP.

Voici le code PHP:

//Where the file is going to be placed
$target_path = "/var/www/media2net/uploads/uploads";

/* Add the original filename to our target path.
Result is "uploads/filename.extension" */
$target_path = $target_path . basename($_FILES['uploadedfile']['name']);

if (move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
    echo "The file ".  basename( $_FILES['uploadedfile']['name']) .
        " has been uploaded";
    chmod("uploads/" . basename($_FILES['uploadedfile']['name']), 755);
} else {
    echo "There was an error uploading the file, please try again!";
    echo "filename: " . basename( $_FILES['uploadedfile']['name']);
    echo " target_path: " .$target_path;
}

Je sais déjà à partir d'inspection fil de requin sur le côté client http post est envoyé correctement, j'ai également veillé à ce que le répertoire que je suis en train d'écrire le fichier dispose des autorisations appropriées, et php safe mode est réglé sur off.

la sortie de apache2 erreur.fichier journal de lit

[Wed Dec 05 09:25:36 2012] [error] [client 74.14.162.250] PHP Warning:  
move_uploaded_file(): Unable to move '/tmp/phpVLOnn3' to  
'/var/www/media2net/uploads/downloaded_file.png' 
in /var/www/media2net/upload.php on line 9

Tout aider avec ce problème, ou d'autres moyens de dépanner ce serait appréciée.

  • est le dossier de téléchargement, accessible en écriture?
  • Êtes-vous sûr de la bonne permisions? vous pouvez poster à la sortie de ls -l /var/www/media2net | grep uploads commande?
  • Vérifiez d'abord $target_path variable contient le double de la télécharger et de vérifier var/www ont l'autorisation d'écriture.Je pense que ça va vous aider.
  • aussi, si cela fait une différence , c'est une instance amazon ec2 exécutant le serveur ubuntu 12.04
  • Je m'excuse, c'était certainement la permission de fichier (frustrant)
  • Je m'excuse, c'était certainement la permission de fichier (frustrant) , chmod 777 -R uploads a fait le tour de l'avenir car je sais que ce n'est pas la meilleure pratique ce que l'autorisation doit ce dossier ont pour fonctionner correctement et le plus sécurisé ( upload et download) que je sais que ce n'est pas la plus sûre des autorisations
  • c'est la pire des solutions. Au lieu de s'installer sur chmod -R 777, ce que vous devez faire est de réexaminer la situation et demandez-vous: "Ok, maintenant que je vois que le PHP côté de cela fonctionne (c'est, du téléchargement du fichier n'travail), alors quel est le problème avec les autorisations?"
  • -1 pour chmodding à 777. Ce n'est pas une solution, c'est de la triche.
  • Également vérifier si le dossier où vous souhaitez enregistrer le fichier existe.