Problème pour uploader un pdf (php sous MVC)

Répondre


Cette question est un moyen d’empêcher des soumissions automatisées de formulaires par des robots.
Smileys
:D :) :( :o :shock: :? 8-) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: =D> #-o =P~ :^o :non: :priere: 8-|
Voir plus de smileys
  Revue du sujet
 

  Étendre la vue Revue du sujet : Problème pour uploader un pdf (php sous MVC)

Re: Problème pour uploader un pdf (php sous MVC)

par Amandine125 » 11 févr. 2023, 12:15

Sur quelle url le not found ?
[*]http://localhost/Jean-Monnet/webroot/fi ... _norme.pdf[*]

Re: Problème pour uploader un pdf (php sous MVC)

par Amandine125 » 10 févr. 2023, 19:03

Re: Problème pour uploader un pdf (php sous MVC)

par Saian » 10 févr. 2023, 18:33

Sur quelle url le not found ?

Re: Problème pour uploader un pdf (php sous MVC)

par Amandine125 » 10 févr. 2023, 17:10

Salut, que se passe-t-il exactement ? vous obtenez le message d'erreur sur le move_uploaded_file ?

Sinon je dirais soit le chemin n'est pas bon, soit le répertoire n'existe pas, soit le serveur web n'a pas les droits d'écriture sur le répertoire.
J'ai un not found "Not Found
The requested URL was not found on this server.

Apache/2.4.46 (Win64) PHP/7.3.21 Server at localhost Port 80"
Pourtant je ne vois pas d'erreur sur mon chemin, le pdf ne va pas dans le dossier files

Re: Problème pour uploader un pdf (php sous MVC)

par Saian » 10 févr. 2023, 15:14

Salut, que se passe-t-il exactement ? vous obtenez le message d'erreur sur le move_uploaded_file ?

Sinon je dirais soit le chemin n'est pas bon, soit le répertoire n'existe pas, soit le serveur web n'a pas les droits d'écriture sur le répertoire.

Problème pour uploader un pdf (php sous MVC)

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>';