Je ne comprend pas pourquoi ca ne veut pas s'upload
                    
        
     
             
                    jeann_9499
    
        
    
                    Messages postés
            
                
     
             
            11
        
            
                                    Statut
            Membre
                    
                -
                                     
jeann_9499 Messages postés 11 Statut Membre -
        jeann_9499 Messages postés 11 Statut Membre -
        Bonsoir j'ai un probleme en php qui me donne un mal de tête. je n'arrive pas a comprendre pourquoi mon fichier ne s'upload pas sur le serveur.
Mon code consiste a mettre sur mon serveur des documents administratif , pour les cartes id cela fonctionne très bien mais quand je fais exactement pareille pour le document cerfaM0 ca ne fonctionne pas ...
Mon code pour la carte id (fonctionne !!!)
html pour carte id
Maintenant j'ai exactement le même code mais ça ne fonctionne pas (il sont sur la même page ...)
html
                
            
                
    
    
    
        Mon code consiste a mettre sur mon serveur des documents administratif , pour les cartes id cela fonctionne très bien mais quand je fais exactement pareille pour le document cerfaM0 ca ne fonctionne pas ...
Mon code pour la carte id (fonctionne !!!)
// UPLOAD PIECE IDENTITE
    if(isset($_POST['piece_id'])){                                  
        $name_files = $_FILES['pieceid']['name'];                        
        $date_now = '-'.date("H-i-s");
        $type_files = "." . strtolower(substr(strrchr($name_files, '.'), 1));
        $target_file = $_FILES['pieceid']['tmp_name'];                                
        $real_name = substr($name_files, 0, -4);
        $file_name = '../../../src/crea_societe/pieceid/'. $real_name . $date_now . $type_files; 
        $resultat = move_uploaded_file($target_file, $file_name);
        if($resultat){
            $update = $bdd->prepare('UPDATE crea_societe SET doc_pieceid = ? WHERE id = ?');
            $update->execute(array(
            ($real_name . $date_now . $type_files),
            ($_GET['num'])
            
    ));
            header('Location: creation-view-physique.php?num='.$_GET['num']);
            exit();
        }       
    }
html pour carte id
<form action="" method="POST" enctype="multipart/form-data">
       <input type="hidden" value="true" name="piece_id">
       <div class="image-upload">
       <label for="file-input">
      <div class="livicon-evo" data-options=" name: <?php if($crea['doc_pieceid'] == ""){echo "plus-alt";}else{echo "morph-link";} ?>.svg; size: 25px "></div>
       </label>
    <input accept="image/png, image/jpg, image/jpeg, application/pdf" id="file-input" name="pieceid" type="file" onchange="this.form.submit();">
    </div>
</form>
Maintenant j'ai exactement le même code mais ça ne fonctionne pas (il sont sur la même page ...)
// UPLOAD cerfaM0
    if(isset($_POST['cerfaM0_id'])){                                        
        $name_files = $_FILES['cerfaM0']['name'];                         
        $date_now = '-'.date("H-i-s");
        $type_files = "." . strtolower(substr(strrchr($name_files, '.'), 1));
        $target_file = $_FILES['cerfaM0']['tmp_name'];                                     
        $real_name = substr($name_files, 0, -4);
        $file_name = '../../../src/crea_societe/cerfaM0/'. $real_name . $date_now . $type_files; 
        $resultat = move_uploaded_file($target_file, $file_name);
        if($resultat){
            $update = $bdd->prepare('UPDATE crea_societe SET doc_cerfaM0 = ? WHERE id = ?');
            $update->execute(array(
            ($real_name . $date_now . $type_files),
            ($_GET['num'])
            
    ));
            header('Location: creation-view-physique.php?num='.$_GET['num']);
            exit();
        }       
    }
html
<form action="" method="POST" enctype="multipart/form-data">
  <input type="hidden" value="true" name="cerfaM0_id">
  <div class="image-upload">
    <label for="file-input">
      <div class="livicon-evo" data-options=" name: <?php if($crea['doc_cerfaM0'] == ""){echo "plus-alt";}else{echo "morph-link";} ?>.svg; size: 25px "></div>
  </label>
  <input accept="image/png, image/jpg, image/jpeg, application/pdf" id="file-input" name="cerfaM0" type="file" onchange="this.form.submit();">
    </div>
</form>
            
            
        A voir également:         
- Fourtoutici en maintenance
- Fourtoutici upload - Meilleures réponses
- Fourtoutici.click en maintenance - Meilleures réponses
- Upload video youtube - Télécharger - Diffusion
- Commun file upload pattern - Forum Services en ligne
- Commun file upload max size - Forum Réseaux sociaux
- Fourtoutici upload ✓ - Forum Réseaux sociaux
- Problème avec ants.gouv.fr pour télécharger fichier en pdf ✓ - Forum Réseaux sociaux
2 réponses
                        
                    Bonjour,
Commence par mettre en commentaire la redirection le temps de tes tests.
Ensuite, fais un var_dump de ta variable $_POST et de ta variable $_FILES
Assure toi également que le dossier de destination existe en utilisant la fonction is_dir()
Ajoute également un controle sur le is_uploaded pour t'assurer, avant le move que le fichier est bien uploadé
 
                
                
    
                Commence par mettre en commentaire la redirection le temps de tes tests.
Ensuite, fais un var_dump de ta variable $_POST et de ta variable $_FILES
Assure toi également que le dossier de destination existe en utilisant la fonction is_dir()
Ajoute également un controle sur le is_uploaded pour t'assurer, avant le move que le fichier est bien uploadé
$num = !empty($_GET['num']) ? $_GET['num'] : NULL;
if (is_uploaded_file($_FILES['cerfaM0']['tmp_name'])) {
  echo "File ". $_FILES['cerfaM0']['name'] ." téléchargé avec succès.\n";
  $dir = '../../../src/crea_societe/cerfaM0/';
  
  if(!is_dir($dir)){
    echo " Le répertoire de destination n'existe pas !";
    exit;
  }
  
  $name_files = $_FILES['cerfaM0']['name'];                         
  $date_now = '-'.date("H-i-s");
  $type_files = "." . strtolower(substr(strrchr($name_files, '.'), 1));
  $target_file = $_FILES['cerfaM0']['tmp_name'];                                     
  $real_name = substr($name_files, 0, -4);
  $file_name = $dir. $real_name . $date_now . $type_files; 
  if($resultat = move_uploaded_file($target_file, $file_name)){
    $update = $bdd->prepare('UPDATE crea_societe SET doc_cerfaM0 = ? WHERE id = ?');
    $update->execute(array( ($real_name . $date_now . $type_files), $num  ));
    //header('Location: creation-view-physique.php?num='.$_GET['num']);
    exit();
  }else{
     echo "Erreur lors du déplacement de fichier !"; 
     exit;
  }
  
} else {
   echo "Erreur lors de l'upload du fichier : ";
   echo "Nom du fichier : '". $_FILES['cerfaM0']['tmp_name'] . "'.";
}
 
 
    
    
    
    

Il y a plusieur form sur la page pour sache document mais a chaque fois ca execute le premiere formulaire (celui de pieceid), je pense que c'est a cause du js , qui permet de faire un auto submit quand il detecte un fichier ...
<li class="cursor-pointer pb-25"> <small class="text-muted ml-1 attchement-text <?php if($crea['doc_pieceid'] == ""){echo "warning";}else{echo "success";} ?>">Piece d'identitée :</small> <img src="../../../app-assets/images/icon/<?= $crea_pieceid ?>" height="30" alt="psd.png"> <small class="text-muted ml-1 attchement-text"><?= $crea['doc_pieceid'] ?></small> <form action="php/insert_pieceid.php" method="POST" enctype="multipart/form-data"> <input type="hidden" value="<?= $_GET['num'] ?>" name="num"> <div class="image-upload"> <label for="file-input"> <div class="livicon-evo" data-options=" name: <?php if($crea['doc_pieceid'] == ""){echo "plus-alt";}else{echo "morph-link";} ?>.svg; size: 25px "></div> </label> <input accept="image/png, image/jpg, image/jpeg, application/pdf" id="file-input" name="pieceid" type="file" onchange="this.form.submit();"> </div> </form> <a class="<?php if($crea['doc_pieceid'] == ""){echo "nonedoc";} ?>" href="../../../src/crea_societe/pieceid/<?= $crea['doc_pieceid'] ?>"><div class="livicon-evo" data-options=" name: morph-eye-open-close.svg; size: 25px "></div></a> </li> <li class="cursor-pointer pb-25"> <small class="text-muted ml-1 attchement-text <?php if($crea['doc_cerfaM0'] == ""){echo "warning";}else{echo "success";} ?>">Cerfa M0 :</small> <img src="../../../app-assets/images/icon/<?= $crea_cerfaM0?>" height="30" alt="psd.png"> <small class="text-muted ml-1 attchement-text"><?= $crea['doc_cerfaM0'] ?></small> <form action="php/insert_cerfaM0.php" method="POST" enctype="multipart/form-data"> <input type="hidden" value="<?= $_GET['num'] ?>" name="num"> <div class="image-upload"> <label for="file-input"> <div class="livicon-evo" data-options=" name: <?php if($crea['doc_cerfaM0'] == ""){echo "plus-alt";}else{echo "morph-link";} ?>.svg; size: 25px "></div> </label> <input accept="image/png, image/jpg, image/jpeg, application/pdf" id="file-input" name="cerfaM0" type="file" onchange="this.form.submit();"> </div> </form> <a class="<?php if($crea['doc_cerfaM0'] == ""){echo "nonedoc";} ?>" href="../../../src/crea_societe/cerfaM0/<?= $crea['doc_cerfaM0'] ?>"><div class="livicon-evo" data-options=" name: morph-eye-open-close.svg; size: 25px "></div></a> </li> <!-- ect ect -->le code js = au milieu du code html
En gros meme si je met un document dans la parite cerfaM0 , ca me ramene sur ---> insert_pieceid.php
Mais sinon le code d'upload marche , c'etait un pb de js , si je me trompe pas ?
document.getElementById("id_du_form_à_submit").submit();*
Mais bon, là ce n'est plus un problème lié à l'upload de fichier ni au code php...
Pour le coup ça devient un souci de Javascript éventuellement...