À l'aide de PHP pour télécharger le fichier et ajouter le chemin d'accès de base de données MySQL
Upload.php:
<?php
//This is the directory where images will be saved
$target = "pics";
$target = $target . basename( $_FILES['Filename']['name']);
//This gets all the other information from the form
$Filename=$_POST['Filename'];
$Description=$_POST['Description'];
$pic=($_FILES['Filename']['name']);
//Connects to your Database
mysql_connect("localhost", "root", "") or die(mysql_error()) ;
mysql_select_db("altabotanikk") or die(mysql_error()) ;
//Writes the information to the database
mysql_query("INSERT INTO picture (Filename,Description)
VALUES ('$Filename', '$Description')") ;
//Writes the Filename to the server
if(move_uploaded_file($_FILES['Filename']['tmp_name'], $target)) {
//Tells you if its all ok
echo "The file ". basename( $_FILES['uploadedfile']['Filename']). " has been uploaded, and your information has been added to the directory";
} else {
//Gives and error if its not
echo "Sorry, there was a problem uploading your file.";
}
?>
Et voici le formulaire(dans un fichier séparé):
<form method="post" action="upload.php" enctype="multipart/form-data">
<p>Photo:</p>
<input type="file" name="Filename">
<p>Description</p>
<textarea rows="10" cols="35" name="Description"></textarea>
<br/>
<input TYPE="submit" name="upload" value="Add"/>
</form>
Les erreurs sont
Undefined index: Filename on Line 17
($Filename=$_POST['Filename'];)
et
Undefined index: uploadedfile on Line 35
(l'echo "Le fichier ". basename( $_FILES['uploadedfile']['Filename']). "a été téléchargé, et de vos informations a été ajouté à l'annuaire";)
echo"<pre>".print_r($_FILES,true)."</pre>";
me donne:
Array
(
[Filename] => Array
(
[name] => Laserkanon.jpg
[type] => image/jpeg
[tmp_name] => C:\WampServer\tmp\php11D4.tmp
[error] => 0
[size] => 41813
)
)
$_POST['Filename'] n'existe pas. $_FILES['uploadedfile'] n'existe pas. $_FILES['Filename'] existe. Vous souhaitez peut-être l'écho de la valeur de la variable $_FILES pour voir la structure du tableau:
Si je n'avais AUCUNE idée de ce que tu fait là... où est-ce que l'extrait de code aller? Et de grâce, lopez.mikhael
dans upload.php vous devez utiliser la variable $_FILES pour obtenir des informations sur le fichier au lieu de $_POST['filename']. si vous voulez le nom de ce fichier à partir de la forme que vous devriez mettre input type=text name="nom de fichier...
Vous devriez à nouveau l'ordre de l'idée, d'abord déplacer le fichier dans le répertoire, deuxième enregistrer dans la Base de données.
Le
echo"<pre>".print_r($_FILES,true)."</pre>";
Si je n'avais AUCUNE idée de ce que tu fait là... où est-ce que l'extrait de code aller? Et de grâce, lopez.mikhael
dans upload.php vous devez utiliser la variable $_FILES pour obtenir des informations sur le fichier au lieu de $_POST['filename']. si vous voulez le nom de ce fichier à partir de la forme que vous devriez mettre input type=text name="nom de fichier...
Vous devriez à nouveau l'ordre de l'idée, d'abord déplacer le fichier dans le répertoire, deuxième enregistrer dans la Base de données.
Le
mysql_*
fonctions sont vieux et sera bientôt retiré de PHP entièrement. Mise à jour de votre code pour utiliser PDO ou mysqli pour qu'il continue à travailler dans l'avenir.
OriginalL'auteur The Last Melody | 2013-06-17
Vous devez vous connecter pour publier un commentaire.
D'abord, vous devez utiliser
print_r($_FILES)
à déboguer, et voir ce qu'il contient. :votre
uploads.php
ressemblerait à:En fonction de votre tableau $_FILES, le nom original est stocké dans la variable $_FILES['Filename']['name'].
il doit être quelque part...
Ouais je faire, maintenant j'ai 5 erreurs au lieu d'un seul :/ Undefined index srcFile et
move_uploaded_file() [<a href='function.move-uploaded-file'>function.move-uploaded-file</a>]: The second argument to copy() function cannot be a directory
+move_uploaded_file() [<a href='function.move-uploaded-file'>function.move-uploaded-file</a>]: Unable to move 'C:\WampServer\tmp\php7068.tmp' to 'pics'
Ouais mon erreur, quelqu'un a essayé de modifier mon post et l'a retourné avec une version. Essayez avec celui-ci. Dans votre utilisation de la forme <input type="file" name="Nom"/>
OriginalL'auteur bksi
Ces sont déconseillées utilisation de la suite..
et insérer des données d'utilisation suivantes
OriginalL'auteur Shahid Amin