upload fichier

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : upload fichier

par Ryle » 18 juil. 2006, 16:41

Le nom du fichier ne se trouve pas dans $_POST['file'], mais d'après le script que tu as donné plus haut dans la variable $_name_ ;)

A noter qu'au lieu d'un @copy bien compliqué et ne gérant pas les erreurs pour copier le fichier temporaire vers le dossier de destination, il existe une fonction move_uploaded_file() qui fait ça très bien et très proprement :)

par doudou34 » 18 juil. 2006, 10:48

j'ai fais le code pour l'insertion dans la base. je veux inserer dans ma base le nom du fichier (celui que j'upload), et un commentaire. Le commentaire s'insere mais pas le nom du fichier

Code : Tout sélectionner

if ((isset($_POST["MM_insert"])) && ($_POST["MM_insert"] == "form2")) { $insertSQL = sprintf("INSERT INTO fichier_act_med (id_fich, comm_fich, nom_fich) VALUES (%s, %s, %s)", GetSQLValueString($_POST['id'], "int"), GetSQLValueString($_POST['comm_fich'], "text"), GetSQLValueString($_POST['file'], "text");
Merci

par doudou34 » 18 juil. 2006, 10:43

j'ai fais le code pour l'insertion dans la base. je veux inserer dans ma base le nom du fichier (celui que j'upload), et un commentaire. Le commentaire s'insere mais pas le nom du fichier

Re: upload fichier

par Ryle » 18 juil. 2006, 10:32

L'upload se fait bien, mais l'inscription du nom du fichier dans la base de donnée ne se fait pas.
C'est normal, ce code gère un upload de fichier, mais ne fais absolument pas référence à une quelconque action sur une base de données :)
Si quelqu'un a une idee je laisse le code
Ben l'idée elle est simple, il faut que tu ajoutes le code pour l'enregistrement des données qui t'interessent dans ta base en fonction de la structure de celle-ci :)

Y a de très bon tutos sur internet qui traitent de l'accès aux bases et la gestion des données :)

upload fichier

par doudou34 » 18 juil. 2006, 09:35

Bonjour ;

J'ai telecharger un script sur internet permetant d'uploader des fichiers sur mon serveur. L'upload se fait bien, mais l'inscription du nom du fichier dans la base de donnée ne se fait pas.

Si quelqu'un a une idee je laisse le code

Merci d'avance a tous

Code : Tout sélectionner

<?php // --------------------------------------------- // Pure PHP Upload version 1.1 // ------------------------------------------- if (phpversion() > "4.0.6") { $HTTP_POST_FILES = &$_FILES; } define("MAX_SIZE",0); define("DESTINATION_FOLDER", "./"); define("no_error", "../index.php"); define("yes_error", ""); $_accepted_extensions_ = ""; if(strlen($_accepted_extensions_) > 0){ $_accepted_extensions_ = @explode(",",$_accepted_extensions_); } else { $_accepted_extensions_ = array(); } $_file_ = $HTTP_POST_FILES['file']; if(is_uploaded_file($_file_['tmp_name']) && $HTTP_POST_FILES['file']['error'] == 0){ $errStr = ""; $_name_ = $_file_['name']; $_type_ = $_file_['type']; $_tmp_name_ = $_file_['tmp_name']; $_size_ = $_file_['size']; if($_size_ > MAX_SIZE && MAX_SIZE > 0){ $errStr = "File troppo pesante"; } $_ext_ = explode(".", $_name_); $_ext_ = strtolower($_ext_[count($_ext_)-1]); if(!in_array($_ext_, $_accepted_extensions_) && count($_accepted_extensions_) > 0){ $errStr = "Estensione non valida"; } if(!is_dir(DESTINATION_FOLDER) && is_writeable(DESTINATION_FOLDER)){ $errStr = "Cartella di destinazione non valida"; } if(empty($errStr)){ if(@copy($_tmp_name_,DESTINATION_FOLDER . "/" . $_name_)){ header("Location: " . no_error); } else { header("Location: " . yes_error); } } else { header("Location: " . yes_error); } } ?>