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 upload
- Fourtoutici en maintenance - Meilleures réponses
- Fourtoutici.click en maintenance - Meilleures réponses
- Fourtoutici ancienne version - Forum Téléphones & tablettes Android
- Fourtoutici ✓ - Forum Réseaux sociaux
- Upload video youtube - Télécharger - Diffusion
- Accés interdit à FOURTOUTICI ✓ - Forum Réseaux sociaux
- Acces interdit à FOURTOUTICI - 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...