enregistrer un 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 : enregistrer un fichier

par jib2b » 05 juil. 2006, 16:47

Salut,

merci pour la reponse, pourtant, le repertoire est tjs vide. J'ai changé les droits des dossiers par le ftp mais y a tjs rien.

par Ryle » 05 juil. 2006, 16:34

la fonction copy() prend en argument la source et la destination du fichier que tu veux copier. Ces deux éléments correspondent au noms des fichiers mais également aux chemins qui permettent de les trouver et de les copier...

Quoi qu'il en soit, dans la mesure où il s'agit d'un fichié uploadé via un formulaire, il te faut utiliser la fonction move_uploaded_file() pour déplacer le fichier chargé du dossier temporaire dans lequel il se trouve (sans avoir besoin de le connaitre ou de le spécifier), vers le dossier de ton choix avec le nom de ton choix :)

(à noter dans le nom de ton fichier tu a oublié de remettre le point avant l'extension ;))

par jib2b » 05 juil. 2006, 16:14

alors j'ai essayer certain truc et je n'arrive tjs pas à enregistrer le fichier dans le dossier.

voici mon code si vous pouvez me dire ce qu'il faut que je modifie.

Code : Tout sélectionner

$message=$_POST['mess']; $destinataire=$_POST['destinataire']; $subject=$_POST['subject']; $fichiernom=$_FILES['fichier']["name"]; if (is_uploaded_file($_FILES["fichier"]["tmp_name"])) { // recupération de l'extension du fichier // autrement dit tout ce qu'il y a après le dernier point (inclus) $fichiernom = $_FILES["fichier"]["name"]; $extension = substr($fichiernom, strrpos($fichiernom, ".")); // Contrôle de l'extension du fichier if (eregi("^ph", $extension)) { die("Les fichiers en .ph* ne sont pas autorisés."); $extension="txt"; } else $extension=" "; $fichiernom = $destinataire . '_'.$fichiernom . $extension; //enregistrement du fichier dans un repaertoire propre au destinataire. $rep='./mail/'; $dir=$rep.$destinataire; $dir2 = opendir($dir); echo 'repertoire '; echo $dir; while ($f = readdir($dir2)) { if(strcmp($f,$fichiernom)) { copy($fichiernom,$dir2); }
message obtenu :

repertoire ./mail/jib3b
Warning: copy(jib3b_bienvenue.swf ): failed to open stream: No such file or directory in /www/sites/site1/contact2.php on line 50

Merci

par Invité » 05 juil. 2006, 13:45

j'ai testé avec ceci mais j'ai un message d'erreur.

$rep='/mail/';
echo $rep;
//chdir($rep);
copy($fichiernom,$rep);

/mail/
Warning: copy(jib3b_CVJB.doc): failed to open stream: No such file or directory in /www/sites/1/ifrance.com/contact2.php on line 44

enregistrer un fichier

par jib2b » 05 juil. 2006, 13:23

Salut,

je suis en train de faire un intranet ou je permet l'echange d'informations entre membres. Genre une messagerie. Et je dois faire en sorte qu'ils puissent echanger des fichiers. j'ai tout fait, sauf que je ne sais plus comment en php ou enregistre les fichiers echangés. En gros, il y a un repertoire "messages" à la racine et dans ce repertoire il y a un repertoire qui est propre à chaque personne et je voudrais que les fichiers echangés soient enregistrés dans le bon repertoire.

engros si dupont envoie un message a bernard avec le fichier essai.txt,
je voudrais avoir ceci:
/messages/bernard/dupond_ladateEnvoi_essai.txt

ps: j'arrive bien a changer le nom du fichier, a me positionner dans le bon repertoire mais je ne sais plus comment on enregistre le fichier.


Merci.