A voir également:
- Upload document vers un dossier de mon site
- Site de telechargement - Accueil - Outils
- Site comme coco - Accueil - Réseaux sociaux
- Dossier appdata - Guide
- Mettre un mot de passe sur un dossier - Guide
- Site de vente en ligne particulier - Guide
6 réponses
scottviger
Messages postés
1
Date d'inscription
vendredi 20 décembre 2013
Statut
Membre
Dernière intervention
20 décembre 2013
20 déc. 2013 à 14:46
20 déc. 2013 à 14:46
tu peut utiliser filezila
sa marche très bien
sa marche très bien
Utilisateur anonyme
20 déc. 2013 à 17:26
20 déc. 2013 à 17:26
Hello, pour uploader un fichier via un formulaire (html/php) tu as le tutoriel de Grafikart.
url : https://www.grafikart.fr/tutoriels/gestion-images-php-52
la première partie concerne l'upload de fichier.
P.S. le tutoriel date d'env. 2009 mais il me semble que la méthode est toujours d'actualité.
********************
dans le cas où tu saurais déjà comment faire un upload de fichier en php mais que tu rencontres un problème / une erreur, pourrais-tu nous copier coller ton code qui gère l'upload et/ou les messages d'erreurs que tu rencontres ?
A+ Seezer.
url : https://www.grafikart.fr/tutoriels/gestion-images-php-52
la première partie concerne l'upload de fichier.
P.S. le tutoriel date d'env. 2009 mais il me semble que la méthode est toujours d'actualité.
********************
dans le cas où tu saurais déjà comment faire un upload de fichier en php mais que tu rencontres un problème / une erreur, pourrais-tu nous copier coller ton code qui gère l'upload et/ou les messages d'erreurs que tu rencontres ?
A+ Seezer.
J'ai deja crèe le formulaire d'envoie mais le probléme c'est que mon document s'envoie voit pas a ma base de donnée et c'est la ou je bloque
Utilisateur anonyme
24 déc. 2013 à 10:41
24 déc. 2013 à 10:41
Donc, tu récupère bien toutes les données dans la variable $_FILES ??
Ensuite il y a deux moyens de stocker une image dans ta BDD :
- enregistrer l'image sur ton système de fichier /img/upload/[random].jpg
- et de stocker le chemin de cette image dans ta BDD (dans un varchar)
exemple : je sauvegarde l'image sur /img/upload/one_image_unique.jpg, je sauvegarde le path /img/upload/one_image_unique.jpg dans mon champ img_path comme ça je peux récupérer cette valeur et la mettre dans une balise <img/> pour l'afficher.
- l'autre moyen c'est de stocker l'image directement en base de donnée dans un champ de type BLOB (je ne suis pas certain de ce que j'avance je n'ai jamais utilisé cette méthode). ensuite ce champ peut être récupérer en php afin d'afficher une image.
- attention quand même car ta BDD va vite prendre de la taille si tu utilise cette méthode et il me semble qu'au niveau performance il faudrait utiliser la première méthode
Ensuite il y a deux moyens de stocker une image dans ta BDD :
- enregistrer l'image sur ton système de fichier /img/upload/[random].jpg
- et de stocker le chemin de cette image dans ta BDD (dans un varchar)
exemple : je sauvegarde l'image sur /img/upload/one_image_unique.jpg, je sauvegarde le path /img/upload/one_image_unique.jpg dans mon champ img_path comme ça je peux récupérer cette valeur et la mettre dans une balise <img/> pour l'afficher.
- l'autre moyen c'est de stocker l'image directement en base de donnée dans un champ de type BLOB (je ne suis pas certain de ce que j'avance je n'ai jamais utilisé cette méthode). ensuite ce champ peut être récupérer en php afin d'afficher une image.
- attention quand même car ta BDD va vite prendre de la taille si tu utilise cette méthode et il me semble qu'au niveau performance il faudrait utiliser la première méthode
Donc a mon avis il semble logique de partir sur la première méthode.
donc :
- générer un nouveau nom (ex:123jkh12kj3h12kj3)
- ajouter l'extention de l'image (ex:123jkh12kj3h12kj3.png)
- ajouter les dossiers (ex:img/upload/123jkh12kj3h12kj3.png)
- sauvegarder l'image dans $_FILES sous le nouveau nom.
- quand tu enregistre ton champ dans la bdd (ex : img_path = img/upload/123jkh12kj3h12kj3.png)
utilisation :
- <img ="<?php echo $d['img_path']; ?>"/>
A+ Seezer
donc :
- générer un nouveau nom (ex:123jkh12kj3h12kj3)
- ajouter l'extention de l'image (ex:123jkh12kj3h12kj3.png)
- ajouter les dossiers (ex:img/upload/123jkh12kj3h12kj3.png)
- sauvegarder l'image dans $_FILES sous le nouveau nom.
- quand tu enregistre ton champ dans la bdd (ex : img_path = img/upload/123jkh12kj3h12kj3.png)
utilisation :
- <img ="<?php echo $d['img_path']; ?>"/>
A+ Seezer
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
Mon formulaire me permet d'uploader des document de types .txt et .pdf pas d'image.
pour precission mon formulaire marche trés bien l'upload aussi mais la contrainte c'est que le document upload ne s'affiche pas ds ma bdd
pouvez-vous m'aider pour cela c est un projet urgent
cordialement
pour precission mon formulaire marche trés bien l'upload aussi mais la contrainte c'est que le document upload ne s'affiche pas ds ma bdd
pouvez-vous m'aider pour cela c est un projet urgent
cordialement
maka54
Messages postés
698
Date d'inscription
mercredi 8 avril 2009
Statut
Membre
Dernière intervention
4 décembre 2016
80
24 déc. 2013 à 15:07
24 déc. 2013 à 15:07
montres ton code
d'accord
<?php
session_start();
//Connexion à la base
include("../includes/connexion.php");
$dossier = 'fichier/';
$fichier = basename($_FILES['fichier']['name']);
$taille_maxi = 30000000;
$taille = filesize($_FILES['fichier']['tmp_name']);
$file_type = $_FILES['fichier']['type'];
$extensions = array('.pdf', '.png', '.gif', '.jpg', '.jpeg', '.txt', '.doc', '.docx');
$extension = strrchr($_FILES['fichier']['name'], '.');
$categorie = $_POST['categorie'];
$SScategorie = $_POST['sscategorie'];
$OK = 1;
//Début des vérifications de sécurité...
if(!in_array($extension, $extensions)) //Si l'extension n'est pas dans le tableau
{
header('Location: ../page_erreur.php?msg=UD2');
}
if($taille > $taille_maxi)
{
header('Location: ../page_erreur.php?msg=UD3');
}
if($categorie < 0)
{
header('Location: ../page_erreur.php?msg=UD4');
}
if($SScategorie < 0)
{
header('Location: ../page_erreur.php?msg=UD5');
}
if($OK == 1) //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['fichier']['tmp_name'], $dossier . $fichier)) //Si la fonction renvoie TRUE, c'est que ça a fonctionné...
{
$chemin = $dossier.$fichier;
// Requête de récupération des données
$req = $mysqli->prepare('INSERT INTO documents(Id_document, Nom_document, Type_mime, Document, Taille_document, Num_categorie_document, Num_SS_categorie_document, Mots_cles, Date_valide, Valide, Num_validateur)
VALUES(?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)');
$arr = array("id"=>"", "nom"=> $fichier, "type"=> $file_type, "doc"=> $chemin, "taille"=> $taille, "numCat"=> $categorie, "numSS"=> $SScategorie, "motscles"=> $_POST['motscles'], "date"=> date("Y-m-d H:i:s", strtotime("+2 month")), "valide"=> 0, "numValid"=> 1);
$req->bind_param('issbiiissii', $arr['id'], $arr['nom'], $arr['type'], $arr['doc'], $arr['taille'], $arr['numCat'], $arr['numSS'], $arr['motscles'], $arr['date'], $arr['valide'], $arr['numValid']);
/* Exécution de la requête */
$req->execute();
printf("Erreur : %s.\n", $req->error);
/* Fermeture du traitement */
$req->close();
echo $arr['id'];
echo $arr['type'];
echo $arr['doc'];
echo $arr['taille'];
echo $arr['numCat'];
echo $arr['numSS'];
echo $arr['motcles'];
echo $arr['date'];
echo $arr['valide'];
echo $arr['numValid'];
header('Location: ../page_succes.php?msg=UD1');
}
else //Sinon (la fonction renvoie FALSE).
{
header('Location: ../page_erreur.php?msg=UD6');
}
}
else
{
header('Location: ../page_erreur.php?msg=UD6');
}
?>