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 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 ...
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 ?
*
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...