par
Amandine125 » 10 févr. 2023, 12:55
Bonjour je rencontre un problème sur l'upload de fichier sous format MVC, Le problème que je rencontre est que le fichier ne s'upload pas dans le dossier voulu, voici ce que j'ai fais :
controller :
Code : Tout sélectionner
function admin_edit($id=null) {
if ($this->Session->isLogged()) {
if (isset($_POST)){
if (!empty($_POST)){
echo "<PRE>";
print_r($_POST);
echo "</PRE>";
echo "<PRE>";
print_r($_FILES);
echo "</PRE>";
for($i=0;$i>1;$i++) {
//echo "i :".$i."<br>";
echo "nom fichier téléchargé :".$_FILES["photo"]["name"][$i]."<br>";
echo "nom chemin upload :".$_FILES["photo"]["tmp_name"][$i]."<br>";
$_POST["photo".$i]=$_FILES["photo0"]["name"];
$im_src="webroot/img/".$_FILES["photo0"]["name"];
//renseigner le nom des photos téléchargées dans $_POST
// les chargements des fichiers : move upload
if (!move_uploaded_file($_FILES["photo0"]["tmp_name"], $im_src)) {
$this->Session->setFlash("Téléchargement KO",'<i class="fas fa-times"></i>',"danger");
}
}
for($i=0;$i>1;$i++) {
//echo "i :".$i."<br>";
echo "nom fichier téléchargé :".$_FILES["pdf"]["name"][$i]."<br>";
echo "nom chemin upload :".$_FILES["pdf"]["tmp_name"][$i]."<br>";
$_POST["pdf".$i]=$_FILES["pdf0"]["name"];
$pdf_src="webroot/files/".$_FILES["pdf0"]["name"];
//renseigner le nom des photos téléchargées dans $_POST
// les chargements des fichiers : move upload
if (!move_uploaded_file($_FILES["pdf0"]["tmp_name"], $pdf_src)) {
$this->Session->setFlash("Téléchargement KO",'<i class="fas fa-times"></i>',"danger");
}
}
$this->formation->save($_POST);
$this->Session->setFlash("Mise à jour ok",'<i class="fas fa-check"></i>');
//echo "RETOUR this->vehicule->->id:".$this->vehicule->id;
$id=$this->formation->id;
}
if(!empty($id)){
$d['titre'] = "Modification ";
$d['for'] = $this->formation->getFor($id);
} else {
$d['titre'] = "Ajout ";
}
$this->set($d);
//je rends la vue admin_edit
$this->layout ='admin';
$this->render('admin_edit');
} else {
echo "Veuillez partir s'il vous plait";
}
}
}
admin edit :
Code : Tout sélectionner
<p>
<div class="mb-3">
<label for="formFile" class="form-label">Veuillez télécharger un pdf</label>
<input class="form-control" name="pdf0" type="file" id="formFile">
</div>
</p>
admin index :
Code : Tout sélectionner
echo "Ajouter une formation : <a href='/".WEBROOT2."/formations/admin_edit/'><i class='fa-sharp fa-solid fa-plus'></i></a>";
echo '<ul class="cards">';
foreach ($form as $f) {
echo '<li>';
echo '<a href="/'.WEBROOT2.'/webroot/files/'.$f->pdf0.'" class="card">';
echo '<img src="/'.WEBROOT2.'/webroot/img/'.$f->photo0.'" class="card__image"/>';
echo '<div class="card__overlay">';
echo '<div class="card__header">';
echo '<svg class="card__arc" xmlns=""><path/></svg>';
echo '<div class="card__header-text">';
echo '<h3 class="card__title">'.$f->nomformation.'</h3>';
echo '<span class="card__status">Durée de la formation : '.$f->dureeformation.'</span>';
echo '</div>';
echo '</div>';
echo '<p class="card__description">DESCRIPTIF : '.$f->descriptif.'</p>';
echo '</div>';
echo '</a>';
echo '<a href="/'.WEBROOT2.'/formations/admin_delete/'.$f->id.'" onclick=\'return confirm("voulez-vous vraiment supprimer cette formation?");\'>
<i class="far fa-trash-alt"></i></a><a href="/'.WEBROOT2.'/formations/admin_edit/'.$f->id.'"<i class="fa-sharp fa-solid fa-pencil"></i></a>';
echo '</li>';
}
echo '</ul>';
Bonjour je rencontre un problème sur l'upload de fichier sous format MVC, Le problème que je rencontre est que le fichier ne s'upload pas dans le dossier voulu, voici ce que j'ai fais :
controller :
[code]
function admin_edit($id=null) {
if ($this->Session->isLogged()) {
if (isset($_POST)){
if (!empty($_POST)){
echo "<PRE>";
print_r($_POST);
echo "</PRE>";
echo "<PRE>";
print_r($_FILES);
echo "</PRE>";
for($i=0;$i>1;$i++) {
//echo "i :".$i."<br>";
echo "nom fichier téléchargé :".$_FILES["photo"]["name"][$i]."<br>";
echo "nom chemin upload :".$_FILES["photo"]["tmp_name"][$i]."<br>";
$_POST["photo".$i]=$_FILES["photo0"]["name"];
$im_src="webroot/img/".$_FILES["photo0"]["name"];
//renseigner le nom des photos téléchargées dans $_POST
// les chargements des fichiers : move upload
if (!move_uploaded_file($_FILES["photo0"]["tmp_name"], $im_src)) {
$this->Session->setFlash("Téléchargement KO",'<i class="fas fa-times"></i>',"danger");
}
}
for($i=0;$i>1;$i++) {
//echo "i :".$i."<br>";
echo "nom fichier téléchargé :".$_FILES["pdf"]["name"][$i]."<br>";
echo "nom chemin upload :".$_FILES["pdf"]["tmp_name"][$i]."<br>";
$_POST["pdf".$i]=$_FILES["pdf0"]["name"];
$pdf_src="webroot/files/".$_FILES["pdf0"]["name"];
//renseigner le nom des photos téléchargées dans $_POST
// les chargements des fichiers : move upload
if (!move_uploaded_file($_FILES["pdf0"]["tmp_name"], $pdf_src)) {
$this->Session->setFlash("Téléchargement KO",'<i class="fas fa-times"></i>',"danger");
}
}
$this->formation->save($_POST);
$this->Session->setFlash("Mise à jour ok",'<i class="fas fa-check"></i>');
//echo "RETOUR this->vehicule->->id:".$this->vehicule->id;
$id=$this->formation->id;
}
if(!empty($id)){
$d['titre'] = "Modification ";
$d['for'] = $this->formation->getFor($id);
} else {
$d['titre'] = "Ajout ";
}
$this->set($d);
//je rends la vue admin_edit
$this->layout ='admin';
$this->render('admin_edit');
} else {
echo "Veuillez partir s'il vous plait";
}
}
}
[/code]
admin edit :
[code]
<p>
<div class="mb-3">
<label for="formFile" class="form-label">Veuillez télécharger un pdf</label>
<input class="form-control" name="pdf0" type="file" id="formFile">
</div>
</p>
[/code]
admin index :
[code]
echo "Ajouter une formation : <a href='/".WEBROOT2."/formations/admin_edit/'><i class='fa-sharp fa-solid fa-plus'></i></a>";
echo '<ul class="cards">';
foreach ($form as $f) {
echo '<li>';
echo '<a href="/'.WEBROOT2.'/webroot/files/'.$f->pdf0.'" class="card">';
echo '<img src="/'.WEBROOT2.'/webroot/img/'.$f->photo0.'" class="card__image"/>';
echo '<div class="card__overlay">';
echo '<div class="card__header">';
echo '<svg class="card__arc" xmlns=""><path/></svg>';
echo '<div class="card__header-text">';
echo '<h3 class="card__title">'.$f->nomformation.'</h3>';
echo '<span class="card__status">Durée de la formation : '.$f->dureeformation.'</span>';
echo '</div>';
echo '</div>';
echo '<p class="card__description">DESCRIPTIF : '.$f->descriptif.'</p>';
echo '</div>';
echo '</a>';
echo '<a href="/'.WEBROOT2.'/formations/admin_delete/'.$f->id.'" onclick=\'return confirm("voulez-vous vraiment supprimer cette formation?");\'>
<i class="far fa-trash-alt"></i></a><a href="/'.WEBROOT2.'/formations/admin_edit/'.$f->id.'"<i class="fa-sharp fa-solid fa-pencil"></i></a>';
echo '</li>';
}
echo '</ul>';
[/code]