Upload et renommer fichier PDF

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 et renommer fichier PDF

Re: Upload et renommer fichier PDF

par Ryle » 25 oct. 2016, 14:57

Bonjour,

Quand tu déplaces le fichier du répertoire temporaire vers le répertoire de destination, tu donnes comme chemin cible : " $repertoireDestination.$nomDestination ". Pour $repertoireDestination tu as bien une valeur, mais quel nom php est-il sensé donner à ton fichier ?

Tester le retour de move_upload_file est en général un bon indicateur.
Retourne TRUE en cas de succès.

Si filename n'est pas valide, rien ne se passe, et move_uploaded_file() retournera FALSE.

Si filename est un fichier téléchargé, mais que pour une raison quelconque, il ne peut être déplacé, rien ne se passe, et move_uploaded_file() retourne FALSE. De plus, une alerte sera affichée.

Re: Upload et renommer fichier PDF

par or 1 » 24 oct. 2016, 18:45

teste ce que retourne move_uploaded_file

Re: Upload et renommer fichier PDF

par fabrice88250 » 24 oct. 2016, 17:57

merci. maintenant j'ai ce message :
string(14) "/tmp/php6QWFGY"
object(finfo)#1 (0) { }

Re: Upload et renommer fichier PDF

par or 1 » 24 oct. 2016, 17:17

var_dump($info);
il n'y a pas de variable $info mais $infos.

Upload et renommer fichier PDF

par fabrice88250 » 24 oct. 2016, 16:58

Bonjour,
j'essai de faire un petit script qui me permettra de mettre en ligne un fichier PDF qui sera renommer lors de Upload en un nom unique.

Pour le moment j'ai ça mais rien ne s'Upload....

Code : Tout sélectionner

<?php if(isset($_POST['go']) && is_uploaded_file($_FILES['fichier']['tmp_name'])){ var_dump($_FILES['fichier']['tmp_name']); } ?> <form action="<?php $_SERVER['PHP_SELF']; ?>" enctype="multipart/form-data" method="POST"> <input type="file" name="fichier"> <input type="submit" name="go" value="Envoyer" /> </form> <?php if(isset($_POST['go']) && is_uploaded_file($_FILES['fichier']['tmp_name'])){ $repertoireDestination = "../../gazette/"; $infos = new finfo(FILEINFO_MIME); $type = $infos->file($_FILES['fichier']['tmp_name']); //extraction du type MIME $mime = substr($type, 0, strpos($type, ';')); if($mime === 'application/pdf'){ // c'est un PDF var_dump($info); //on renomme le fichier en nom unique $nomDestination = "gazette.pdf"; move_uploaded_file($_FILES["fichier"]["tmp_name"], $repertoireDestination.$nomDestination); }else{ // ce n'est pas un PDF print "erreur"; } } ?>
lorsque je clique sur Envoyer j'ai un message "string(14) "/tmp/phpj5TRhI"" qui s'affiche au dessus de mon formulaire et un NULL juste en dessous du formulaire