Problème pour uploader un pdf (php sous MVC)
Posté : 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 :
admin edit :
admin index :
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";
}
}
}
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>
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>';