Page 1 sur 1

Upload et renommer fichier PDF

Posté : 24 oct. 2016, 16:58
par fabrice88250
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

Re: Upload et renommer fichier PDF

Posté : 24 oct. 2016, 17:17
par or 1
var_dump($info);
il n'y a pas de variable $info mais $infos.

Re: Upload et renommer fichier PDF

Posté : 24 oct. 2016, 17:57
par fabrice88250
merci. maintenant j'ai ce message :
string(14) "/tmp/php6QWFGY"
object(finfo)#1 (0) { }

Re: Upload et renommer fichier PDF

Posté : 24 oct. 2016, 18:45
par or 1
teste ce que retourne move_uploaded_file

Re: Upload et renommer fichier PDF

Posté : 25 oct. 2016, 14:57
par Ryle
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.