Upload document vers un dossier de mon site

floriane -  
 floriane -
Bonjour,
J' ai crée un site et dans mon site j'ai une page accès document dans laquelle ce retrouve plusieurs dossier

et j'ai un formulaire d'upload qui me permet de sélectionner le dossier dans lequel je veut que mon document soit envoie

mais petit problème le document n'arrive pas au dossier sélectionner et je sait pas comment faire cela

pouvez-vous m'aider

cordialement


A voir également:

6 réponses

scottviger Messages postés 1 Date d'inscription   Statut Membre Dernière intervention  
 
tu peut utiliser filezila
sa marche très bien
0
Utilisateur anonyme
 
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.
0
floriane
 
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
0
Utilisateur anonyme
 
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
0
Utilisateur anonyme
 
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
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
floriane
 
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
0
maka54 Messages postés 698 Date d'inscription   Statut Membre Dernière intervention   80
 
montres ton code
0
floriane
 
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');
}
?>
0