Upload document vers un dossier de mon site

Fermé
floriane - 20 déc. 2013 à 13:51
 floriane - 24 déc. 2013 à 16:28
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 vendredi 20 décembre 2013 Statut Membre Dernière intervention 20 décembre 2013
20 déc. 2013 à 14:46
tu peut utiliser filezila
sa marche très bien
0
Utilisateur anonyme
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.
0
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
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
0
Utilisateur anonyme
24 déc. 2013 à 10:45
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
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 mercredi 8 avril 2009 Statut Membre Dernière intervention 4 décembre 2016 80
24 déc. 2013 à 15:07
montres ton code
0
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