Probléme d'upload php
ssd
-
Alain_42 Messages postés 5361 Date d'inscription Statut Membre Dernière intervention -
Alain_42 Messages postés 5361 Date d'inscription Statut Membre Dernière intervention -
Bonjour,
je suis débutant,
je fais un scrip et j'ai un problème avec ma partie upload,
voici ma page :
// Mon formulaire :
<form method="POST" action="ajout_composant.php">
<center>
<input type="file" name="fichier1" ><br>
<input type="submit" name="upload_image" value="Uploader"><br>
<input type="file" name="fichier2" ><br>
<input type="submit" name="upload_pdf" value="Uploader"><br><br>
<input type="submit" value="Envoyer" name="envoyer">
</center>
</form>
// ma partie de traitement
if( isset($_POST['upload_image']) )
{
$content_dir = '/var/www/Images/'; // dossier où sera déplacé le fichier
print_r($_FILES['fichier1']);
$tmp_file = $_FILES['fichier1']['tmp_name'];
if( !is_uploaded_file($tmp_file) )
{
exit("Le fichier est introuvable");
}
// on vérifie maintenant l'extension
$type_file = $_FILES['fichier1']['type'];
if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif') )
{
exit("Le fichier n'est pas une image");
}
// on copie le fichier dans le dossier de destination
$name_file = $_FILES['fichier1']['name'];
$image_composant=$name_file;
if( !move_uploaded_file($tmp_file, $content_dir . $name_file) )
{
exit("Impossible de copier le fichier dans $content_dir");
}
echo "Le fichier a bien été uploadé";
}
if( isset($_POST['upload_pdf']) )
{
$content_dir = '/var/www/Pdf/'; // dossier où sera déplacé le fichier
print_r($_FILES['fichier2']);
$tmp_file = $_FILES['fichier2']['tmp_name'];
if( !is_uploaded_file($tmp_file) )
{
exit("Le fichier est introuvable");
}
// on vérifie maintenant l'extension
$type_file = $_FILES['fichier2']['type'];
if( !strstr($type_file, 'pdf') )
{
exit("Le fichier n'est pas un fichier de type pdf");
}
// on copie le fichier dans le dossier de destination
$name_file = $_FILES['fichier2']['name'];
$pdf_composant=$name_file;
if( !move_uploaded_file($tmp_file, $content_dir . $name_file) )
{
exit("Impossible de copier le fichier dans $content_dir");
}
echo "Le fichier a bien été uploadé";
}
// On vérifie si les champs sont vides
if(empty($upload_image) OR empty($upload_pdf))
{
echo '<font color="red">Attention Veuillez Remplir tous les champs !</font>';
}
// Aucun champ n'est vide, on peut enregistrer dans la table
else
{
// connexion à la base
$db = mysql_connect('localhost', 'root', '') or die('Erreur de connexion '.mysql_error());
// sélection de la base
mysql_select_db('bdd',$db) or die('Erreur de selection '.mysql_error());
// on écrit la requête sql
$sql = "INSERT INTO composant(id,image_composant, pdf_composant) VALUES('','$image_composant','$pdf_composant')";
// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
// on affiche le résultat pour le visiteur
echo 'Votre composant a été ajouté.';
mysql_close(); // on ferme la connexion
}
?>
à chaque fois mon code me dit "Le fichier est introuvable" et j'obtiens les erreurs suivantes :
PHP Notice: Undefined index: fichier
PHP Notice: Undefined index: fichier1
PHP Notice: Undefined index: fichier2
merci par avance
je suis débutant,
je fais un scrip et j'ai un problème avec ma partie upload,
voici ma page :
// Mon formulaire :
<form method="POST" action="ajout_composant.php">
<center>
<input type="file" name="fichier1" ><br>
<input type="submit" name="upload_image" value="Uploader"><br>
<input type="file" name="fichier2" ><br>
<input type="submit" name="upload_pdf" value="Uploader"><br><br>
<input type="submit" value="Envoyer" name="envoyer">
</center>
</form>
// ma partie de traitement
if( isset($_POST['upload_image']) )
{
$content_dir = '/var/www/Images/'; // dossier où sera déplacé le fichier
print_r($_FILES['fichier1']);
$tmp_file = $_FILES['fichier1']['tmp_name'];
if( !is_uploaded_file($tmp_file) )
{
exit("Le fichier est introuvable");
}
// on vérifie maintenant l'extension
$type_file = $_FILES['fichier1']['type'];
if( !strstr($type_file, 'jpg') && !strstr($type_file, 'jpeg') && !strstr($type_file, 'bmp') && !strstr($type_file, 'gif') )
{
exit("Le fichier n'est pas une image");
}
// on copie le fichier dans le dossier de destination
$name_file = $_FILES['fichier1']['name'];
$image_composant=$name_file;
if( !move_uploaded_file($tmp_file, $content_dir . $name_file) )
{
exit("Impossible de copier le fichier dans $content_dir");
}
echo "Le fichier a bien été uploadé";
}
if( isset($_POST['upload_pdf']) )
{
$content_dir = '/var/www/Pdf/'; // dossier où sera déplacé le fichier
print_r($_FILES['fichier2']);
$tmp_file = $_FILES['fichier2']['tmp_name'];
if( !is_uploaded_file($tmp_file) )
{
exit("Le fichier est introuvable");
}
// on vérifie maintenant l'extension
$type_file = $_FILES['fichier2']['type'];
if( !strstr($type_file, 'pdf') )
{
exit("Le fichier n'est pas un fichier de type pdf");
}
// on copie le fichier dans le dossier de destination
$name_file = $_FILES['fichier2']['name'];
$pdf_composant=$name_file;
if( !move_uploaded_file($tmp_file, $content_dir . $name_file) )
{
exit("Impossible de copier le fichier dans $content_dir");
}
echo "Le fichier a bien été uploadé";
}
// On vérifie si les champs sont vides
if(empty($upload_image) OR empty($upload_pdf))
{
echo '<font color="red">Attention Veuillez Remplir tous les champs !</font>';
}
// Aucun champ n'est vide, on peut enregistrer dans la table
else
{
// connexion à la base
$db = mysql_connect('localhost', 'root', '') or die('Erreur de connexion '.mysql_error());
// sélection de la base
mysql_select_db('bdd',$db) or die('Erreur de selection '.mysql_error());
// on écrit la requête sql
$sql = "INSERT INTO composant(id,image_composant, pdf_composant) VALUES('','$image_composant','$pdf_composant')";
// on insère les informations du formulaire dans la table
mysql_query($sql) or die('Erreur SQL !'.$sql.'<br>'.mysql_error());
// on affiche le résultat pour le visiteur
echo 'Votre composant a été ajouté.';
mysql_close(); // on ferme la connexion
}
?>
à chaque fois mon code me dit "Le fichier est introuvable" et j'obtiens les erreurs suivantes :
PHP Notice: Undefined index: fichier
PHP Notice: Undefined index: fichier1
PHP Notice: Undefined index: fichier2
merci par avance
A voir également:
- Probléme d'upload php
- Youtube upload - Télécharger - Diffusion
- Easy php - Télécharger - Divers Web & Internet
- Expert php pinterest - Télécharger - Langages
- Commun file upload pattern ✓ - Forum Réseaux sociaux
- Gofile upload - Télécharger - Téléchargement & Transfert
4 réponses
bonsoir,
à la place de /var/www/images
mets /images
ensuite pour la procédure vas voir ce tuto:
https://antoine-herault.developpez.com/tutoriels/php/upload/
à la place de /var/www/images
mets /images
ensuite pour la procédure vas voir ce tuto:
https://antoine-herault.developpez.com/tutoriels/php/upload/
en m'inspirant du tuto j'obtiens les erreur suivantes :
PHP Warning: move_uploaded_file(): Unable to move '/tmp/phpCVj0QX' to 'mon_image.jpg'
PHP Warning: move_uploaded_file(mon_fichier-.jpg): failed to open stream: Permission denied
voici le code :
<form method="POST" action="ajout_composant.php" enctype="multipart/form-data">
<!-- On limite le fichier à 100Ko -->
<input type="hidden" name="MAX_FILE_SIZE" value="900000000">
Fichier : <input type="file" name="image_composant">
<input type="submit" name="envoyer" value="Envoyer l'image">
</form>
<?php
if( isset($_POST['envoyer']) )
$dossier = '/Images';
$fichier = basename($_FILES['image_composant']['name']);
$taille_maxi = 900000000;
$taille = filesize($_FILES['image_composant']['tmp_name']);
$extensions = array('.png', '.gif', '.jpg', '.jpeg');
$extension = strrchr($_FILES['image_composant']['name'], '.');
//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
$erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg...';
}
if($taille>$taille_maxi)
{
$erreur = 'Le fichier est trop gros...';
}
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
//On formate le nom du fichier ici...
$fichier = strtr($fichier,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
if(move_uploaded_file($_FILES['image_composant']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
{
echo 'Upload effectué avec succès !';
}
else //Sinon (la fonction renvoie FALSE).
{
echo 'Echec de l\'upload !';
}
}
else
{
echo $erreur;
}
?>
PHP Warning: move_uploaded_file(): Unable to move '/tmp/phpCVj0QX' to 'mon_image.jpg'
PHP Warning: move_uploaded_file(mon_fichier-.jpg): failed to open stream: Permission denied
voici le code :
<form method="POST" action="ajout_composant.php" enctype="multipart/form-data">
<!-- On limite le fichier à 100Ko -->
<input type="hidden" name="MAX_FILE_SIZE" value="900000000">
Fichier : <input type="file" name="image_composant">
<input type="submit" name="envoyer" value="Envoyer l'image">
</form>
<?php
if( isset($_POST['envoyer']) )
$dossier = '/Images';
$fichier = basename($_FILES['image_composant']['name']);
$taille_maxi = 900000000;
$taille = filesize($_FILES['image_composant']['tmp_name']);
$extensions = array('.png', '.gif', '.jpg', '.jpeg');
$extension = strrchr($_FILES['image_composant']['name'], '.');
//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
$erreur = 'Vous devez uploader un fichier de type png, gif, jpg, jpeg...';
}
if($taille>$taille_maxi)
{
$erreur = 'Le fichier est trop gros...';
}
if(!isset($erreur)) //S'il n'y a pas d'erreur, on upload
{
//On formate le nom du fichier ici...
$fichier = strtr($fichier,
'ÀÁÂÃÄÅÇÈÉÊËÌÍÎÏÒÓÔÕÖÙÚÛÜÝàáâãäåçèéêëìíîïðòóôõöùúûüýÿ',
'AAAAAACEEEEIIIIOOOOOUUUUYaaaaaaceeeeiiiioooooouuuuyy');
$fichier = preg_replace('/([^.a-z0-9]+)/i', '-', $fichier);
if(move_uploaded_file($_FILES['image_composant']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
{
echo 'Upload effectué avec succès !';
}
else //Sinon (la fonction renvoie FALSE).
{
echo 'Echec de l\'upload !';
}
}
else
{
echo $erreur;
}
?>