SanglierD Posté(e) le 18 novembre 2021 Posté(e) le 18 novembre 2021 Bonjour, J'essaie d'uploader un fichier sur un site internet hébergé sur le NAS. A priori, le dossier d'Upload possède les droits en lecture et écriture. Le site tourne avec Apache 2.4, PHP7.3. Sous webstation, je pense avoir saisi les bonnes extensions pour le serveur distant. Voici la fonction php. Quelqu'un aurait-il une idée svp ? <?php if(isset($_POST['envoyerphoto'])){ $dossier = "upload/" . $_SESSION['id'] . "/"; if(!is_dir($dossier)){ mkdir($dossier); } $fichier = basename($_FILES['avatar']['name']); if(move_uploaded_file($_FILES['avatar']['tmp_name'], $dossier . $fichier)){ if(file_exists($dossier . $SESSION['avatar']) && isset($SESSION['avatar'])){ unlink($dossier . $SESSION['avatar']); } $req=$DB->prepare("UPDATE part_profil SET avatar = ? WHERE id = ?"); $req->execute(array($fichier, $_SESSION['id'])); $_SESSION['avatar'] = $fichier; header('Location: profil.php'); exit; } else { header('Location: profil.php'); exit; } Merci pour votre aide,
cadkey Posté(e) le 18 novembre 2021 Posté(e) le 18 novembre 2021 J'utilise file_put_contents pour ramener un fichier du net sur mon nas: $file_gc = file_get_contents($url); file_put_contents($fname, $file_gc); 1
SanglierD Posté(e) le 1 décembre 2021 Auteur Posté(e) le 1 décembre 2021 Hey @cadkey, merci pour ton retour 😃 J'ai essayé mais sans issue. Cela peut-il provenir de l'adresse de mon fichier "upload/" ? Ne faut-il pas y indiquer l'ip du NAS avant ? Pour cette optin je ne pense pas puisque j'arrive à y créer des fichiers en php. J'avoue que je sèche un peu... Si tu as plus d'infos sur ton paramétrage ou une page de code php pour que j'essaie je suis preneur stp. Merci néanmoins pour cette première info, c'est sympa ☺️! @ +👋🍹
PiwiLAbruti Posté(e) le 2 décembre 2021 Posté(e) le 2 décembre 2021 Quel est le résultat produit par ton code ? As-tu activé l'affichage des erreurs PHP afin d'identifier le problème ?
DaffY Posté(e) le 2 décembre 2021 Posté(e) le 2 décembre 2021 bonjour,sauf erreur le mecanisme d'upload remonte un fichier tampon dans un dossier temporaire du NAS.Afin de le mettre a dispo, il faut le copier/deplacer vers le dossier upload sous web.cf https://www.php.net/manual/fr/features.file-upload.post-method.php
PiwiLAbruti Posté(e) le 2 décembre 2021 Posté(e) le 2 décembre 2021 C'est bien ce qui est fait dans son script avec la fonction move_uploaded_file(), @DaffY. 1
SanglierD Posté(e) le 2 décembre 2021 Auteur Posté(e) le 2 décembre 2021 (modifié) Merci @DaffY et @PiwiLAbruti , effectivement je n'utilise pas la fonction upload_tmp_dir mais move_uploaded_file(). J'ai utilisé un printr($_FILES) ce qui me donne Array ( [avatar] => Array ( [name] => 2021-11-15_12h51_24.jpg [type] => image/jpeg [tmp_name] => /volume1/@tmp/phpNKOlJP [error] => 0 J'ai remarqué entre 2 que j’avais des soucis de syntaxe...il manquait "underscore" sur certains $_SESSION MIRACLE....ça marche !!! 🍺 Ps : faut-il ajouter un bout de code type phpinfo() pour les afficher svp ? ☺️ MERCI à tous les 2 !! Vous m'avez re-motivés et mis sur les rails !! 🤩 Modifié le 2 décembre 2021 par Chaandgus
DaffY Posté(e) le 21 janvier 2022 Posté(e) le 21 janvier 2022 Le problème est maintenant résolu. N'hésitez pas à ouvrir un nouveau message en cas de problème. Ceci est une réponse automatique.
Messages recommandés