Upload file+ cookies

Résolu
RandaH Messages postés 44 Statut Membre -  
RandaH Messages postés 44 Statut Membre -
Bonjour,

comment faire une page php qui upload des fichiers (ex: image) avec cookies?

voila ce que j'ai trouvé mais ne marche pas :
<?php

$donnees = "images/";
$nom_final  = $donnees. basename( $_FILES['fichier_photo']['name']); 
if (!empty($_FILES)) {
 if (move_uploaded_file($_FILES['fichier_photo']['tmp_name'], $nom_final)) {
  echo "Le fichier a ete charge sur le serveur";
  setcookie("targetPath",$nom_final,time() + 3600,'/');
                print $_COOKIE['targetPath']; // prints fine here
                echo 1;
 } 
 else{
  echo "Erreur lors du transfert vers le serveur.";
  echo -1;
 }
else{
//print_r($_COOKIE);
print "start cookie >> ";
print $_COOKIE['targetPath']; // does not print when I call upload.php standalone
print " << end cookie";
}
}
?>

1 réponse

  1. jordane45 Messages postés 30426 Date d'inscription   Statut Modérateur Dernière intervention   4 830
     
    Bonjour,

    "ça ne marche pas" .... oui mais encore....??
    As tu des messages d'erreur ?
    Ou peux tu nous expliquer en quoi ça ne fonctionne pas ??

    Déjà.. je pense voir qu'il y a quelques oublis d'accolades dans ton code...

    Essayes ça :
    <?php
    
    $donnees = "images/";
    
    if (!empty($_FILES)) {
      $nom_final  = $donnees. basename( $_FILES['fichier_photo']['name']); 
      if (move_uploaded_file($_FILES['fichier_photo']['tmp_name'], $nom_final)) {
        echo "Le fichier a ete charge sur le serveur";
        setcookie("targetPath",$nom_final,time() + 3600,'/');
        print $_COOKIE['targetPath']; // prints fine here
        echo 1;
      }else{
        echo "Erreur lors du transfert vers le serveur.";
        echo -1;
      }
    }else{
      // Aucun fichier à uploader.
      //print_r($_COOKIE);
      print "start cookie >> ";
      print $_COOKIE['targetPath']; // does not print when I call upload.php standalone
      print " << end cookie";
    }
    
    ?>
    


    Bien entendu.. ton répertoire de destination doit avoir des droits en écriture pour que ça fonctionne.
    Il faut aussi regarder dans le php.ini la taille maximum d'upload autorisé.

    PS: A quoi sert le ELSE (avec le print_r($_COOKIE) )?
    Il ne sera appelé que si tu n'as aucun fichier à uploader... je n'en vois pas l'intérêt.

    0
    1. RandaH Messages postés 44 Statut Membre
       
      Bonjour,
      j'ai ajouté ob_start(); au début du script et ça marche.
      merci
      0