Page 1 sur 1
uploader un fichier dans 2 repertoires
Posté : 22 avr. 2017, 16:27
par pao47
Bonjour,
Est-ce que vous pourriez m'aider? je n'arrive pas à uploader un fichier dans 2 repertoires différents.
Cela fonctionne correctement pour uploader dans le premier repertoire "corrective" mais pas dans le second "améliorations"
<?php
if( isset($_POST['formulairesuiviFA']) ) // si formulaire soumis
{
$content_dir = "../doc-qualite/actions/corrective/"; // 1er dossier où sera déplacé le fichier
$content_dir1 = "../doc-qualite/actions/améliorations/"; // 2ieme dossier où sera déplacé le fichier
$tmp_file = $_FILES['fichier']['tmp_name'];
$tmp_test = $_FILES['fichier']['name'];
if( !is_uploaded_file($tmp_file) )
{
exit("Le fichier est introuvable $tmp_test !");
}
// on copie le fichier dans le dossier de destination
$name_file = $_FILES['fichier']['name'];
if( !copy($tmp_file, $content_dir . $name_file) )
if( !copy($tmp_file, $content_dir1 . $name_file) )
{
exit("Impossible de copier le fichier dans $content_dir");
}
echo "Le fichier a bien été uploadé";
}
?>
Merci d'avance,
Paolino
Re: uploader un fichier dans 2 repertoires
Posté : 22 avr. 2017, 16:32
par or 1
if( !copy($tmp_file, $content_dir . $name_file) )
le déplacement fonctionne donc copy retourne true, donc cela ne rentre pas dans le if, donc cela n'exécute pas le second copy.
Re: uploader un fichier dans 2 repertoires
Posté : 22 avr. 2017, 17:42
par pao47
Ok merci de ton aide. il faudrait que je corrige comment pour que cela fonctionne ?
paolino
Re: uploader un fichier dans 2 repertoires
Posté : 23 avr. 2017, 19:14
par pao47
Bonjour,
personne ne peut corriger mon code pour que cela fonctionne ? je peux mettre 2 répertoires de destination dans le même if ?
je ne vois pas comment faire...
merci d'avance de votre aide.
paolino
Re: uploader un fichier dans 2 repertoires
Posté : 23 avr. 2017, 23:58
par @rthur
Bonjour,
Nous sommes là pour t'aider à le faire mais pas pour le faire à ta place.
Or1 t'a indiqué où était l'erreur.
Qu'as-tu essayé pour faire une correction à ce niveau ? Quels sont les messages d'erreurs que tu as rencontrés ?
Re: uploader un fichier dans 2 repertoires
Posté : 25 avr. 2017, 19:02
par pao47
Bonjour,
j'ai essayé depuis cela :
<?php
if( isset($_POST['formulairesuiviFA']) ) // si formulaire soumis
{
$content_dir = "../doc-qualite/actions/corrective/"; // 1er dossier où sera déplacé le fichier
$content_dir1 = "../doc-qualite/actions/améliorations/"; // 2ieme dossier où sera déplacé le fichier
$tmp_file = $_FILES['fichier']['tmp_name'];
$tmp_test = $_FILES['fichier']['name'];
if( !is_uploaded_file($tmp_file) )
{
exit("Le fichier est introuvable $tmp_test !");
}
// on copie le fichier dans le dossier de destination
$name_file = $_FILES['fichier']['name'];
if( !copy($tmp_file, $content_dir . $name_file&&$content_dir1. $name_file) )
{
exit("Impossible de copier le fichier dans $content_dir");
}
echo "Le fichier a bien été uploadé";
}
?>
mais cela n'a rien changé sauf qu'il n'upload même plus dans le premier répertoire car je pense qu'il ne trouve plus de non de repertoire correct.
Je bloque toujours...
il faudrait certainement que je réalise 2 copy puis 1 move_uploaded_file mais je n'y parviens pas...
un peu d'aide pour un newbie du php serait toujours la bien venue.
Merci d'avance,
paolino
Re: uploader un fichier dans 2 repertoires
Posté : 26 avr. 2017, 09:01
par moogli
salut,
il faut avant tout être logique !
si tu regarde bien la doc, tu utilise move_uploaded_file pour déplacer ton fichier.
tu veux une copie ? tu utilises ensuite la fonction copy.
tu connais les deux fonctions il n'y a ni piège ni difficulté.
if(move_uploaded_file(...)) [
if(!copy ( ...)){
// message d'erreur
}
}else {
// message d'erreur
}
@+
Re: uploader un fichier dans 2 repertoires
Posté : 29 avr. 2017, 07:41
par pao47
Bonjour,
je vous remercie pour votre aide. Vous aviez raison, la solution était devant mes yeux.
Voici la correction apportée, le fichier se déplace dans la premier répertoire puis je le copie dans le second.
<?php
if( isset($_POST['formulairesuiviFA']) ) // si formulaire soumis (move_uploaded_file)
{
$content_dir = "../doc-qualite/actions/corrective/"; // 1er dossier où sera déplacé le fichier
$content_dir1 = "../doc-qualite/actions/amélioration/";
$tmp_file = $_FILES['fichier']['tmp_name'];
$tmp_test = $_FILES['fichier']['name'];
if( !is_uploaded_file($tmp_file) )
{
exit("Le fichier est introuvable $tmp_test !");
}
// on copie le fichier dans le dossier de destination
$name_file = $_FILES['fichier']['name'];
if(!move_uploaded_file($tmp_file, $content_dir . $name_file))
{
exit("Impossible de copier le fichier dans $content_dir");
}
echo "Le fichier a bien été uploadé";
if(!copy($content_dir . $name_file, $content_dir1 . $name_file))
{
exit("Impossible de copier le fichier dans $content_dir1");
}
echo "Le fichier a bien été uploadé";
}
?>