Upload un fichier sur le serveur NAS synology
Résolu
flo39400
Messages postés
596
Date d'inscription
Statut
Membre
Dernière intervention
-
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
yg_be Messages postés 23541 Date d'inscription Statut Contributeur Dernière intervention -
Bonjour,
Voila j'ai tester ce code via wamp 3.0.4, PHP version 7.0.4
Tous vas bien, mais sur mon NAS synolgy cela ne marche il me dit comme quoi j'ai pas la permission pourtant le dossier est en 777 niveau droit donc je comprend pas trop.
Voici le message d'erreur :
Warning: move_uploaded_file(../uploads/a6e63e62e09b98847da573b460c4942a65da71208c7498723358cf1d1ba36319.png): failed to open stream: Permission denied in /volume2/web/sitebeta/admin/ajouter.php on line 56 Call Stack: 0.0002 136304 1. {main}() /volume2/web/sitebeta/admin/ajouter.php:0 0.0021 145304 2. move_uploaded_file() /volume2/web/sitebeta/admin/ajouter.php:56 Warning: move_uploaded_file(): Unable to move '/volume1/@tmp/phplZtuYC' to '../uploads/a6e63e62e09b98847da573b460c4942a65da71208c7498723358cf1d1ba36319.png' in /volume2/web/sitebeta/admin/ajouter.php on line 56 Call Stack: 0.0002 136304 1. {main}() /volume2/web/sitebeta/admin/ajouter.php:0 0.0021 145304 2. move_uploaded_file() /volume2/web/sitebeta/admin/ajouter.php:56
Et voici le code:
Merci d'avance.
Voila j'ai tester ce code via wamp 3.0.4, PHP version 7.0.4
Tous vas bien, mais sur mon NAS synolgy cela ne marche il me dit comme quoi j'ai pas la permission pourtant le dossier est en 777 niveau droit donc je comprend pas trop.
Voici le message d'erreur :
Warning: move_uploaded_file(../uploads/a6e63e62e09b98847da573b460c4942a65da71208c7498723358cf1d1ba36319.png): failed to open stream: Permission denied in /volume2/web/sitebeta/admin/ajouter.php on line 56 Call Stack: 0.0002 136304 1. {main}() /volume2/web/sitebeta/admin/ajouter.php:0 0.0021 145304 2. move_uploaded_file() /volume2/web/sitebeta/admin/ajouter.php:56 Warning: move_uploaded_file(): Unable to move '/volume1/@tmp/phplZtuYC' to '../uploads/a6e63e62e09b98847da573b460c4942a65da71208c7498723358cf1d1ba36319.png' in /volume2/web/sitebeta/admin/ajouter.php on line 56 Call Stack: 0.0002 136304 1. {main}() /volume2/web/sitebeta/admin/ajouter.php:0 0.0021 145304 2. move_uploaded_file() /volume2/web/sitebeta/admin/ajouter.php:56
Et voici le code:
<?php session_start(); include ('../cobdd.php'); if(!empty($_SESSION['statut'] != 3)) { header('Location: ../index.php'); } if(isset($_SESSION['id']) AND $_SESSION['id'] > 0) { $id = $_SESSION['id']; if(isset($_POST['titre'])) { $titre_article = $_POST['titre']; // Testons si le fichier a bien été envoyé et s'il n'y a pas d'erreur if (isset($_FILES['photo']) AND $_FILES['photo']['error'] == 0) { // Testons si le fichier n'est pas trop gros 10 Mo if ($_FILES['photo']['size'] <= 10000000) { // On peut valider le fichier et le stocker définitivement $fichier_upload_nom = $_FILES['photo']['name']; $fichier_upload_source = $_FILES['photo']['tmp_name']; $upload_repertoire = '../uploads'; // On récupère l'extension du fichier $fichier_extension = pathinfo($fichier_upload_nom, PATHINFO_EXTENSION); // Exemple 1: on génère une chaîne aléatoire avec hash() $nouveau_nom = hash('sha256', (microtime().$fichier_upload_nom)).'.'.$fichier_extension; $fichier_upload_destination= $upload_repertoire.'/'.$nouveau_nom; // Upload du fichier dans son chemin de destination move_uploaded_file($fichier_upload_source, $fichier_upload_destination); $dossier = 'uploads/'; $url =$dossier.$nouveau_nom; $reqarticle = $bdd->prepare('INSERT INTO article(id_user, titre_article, nom_photo, date) VALUES(?, ?, ?, NOW())'); $reqarticle->execute(array($id, $titre_article, $url)); } } } } ?> <!doctype html> <html lang="fr"> <head> <meta charset="utf-8"> <title></title> <link rel="stylesheet" href="../style.css"> </head> <body> <?php include('../menu2.php'); ?> </br> <br /><br /> <div align='center'> <form method="post" enctype="multipart/form-data"> <label for="titre">Titre de l'article (max. 50 caractères) :</label> <input type="text" name="titre" placeholder="Titre de l'article" id="titre" required /><br /> <br /><br /> <input type="file" name="photo" id="photo" /><br /> <label for="photo">Photo (tous formats | max. 10 Mo) :</label><br /> <input type="hidden" name="MAX_FILE_SIZE" value="10048576" /> <br /><br /> <input type="submit" name="envoi" value="Envoyer" /> </form> </div> </body> </html>
Merci d'avance.
A voir également:
- Upload un fichier sur le serveur NAS synology
- Fichier bin - Guide
- Comment réduire la taille d'un fichier - Guide
- Comment ouvrir un fichier epub ? - Guide
- Fichier rar - Guide
- Fichier .dat - Guide
4 réponses
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
bonjour, "tout va bien", veux-tu dire que cela fonctionne à un autre endroit?
où souhaites-tu exactement sauver le fichier, es-tu certain que ../uploads corresponde à cet endroit?
où souhaites-tu exactement sauver le fichier, es-tu certain que ../uploads corresponde à cet endroit?
En changent juste mon dossier de destination j'ai moins long en erreur, mais toujours au moins un problème:
Warning: move_uploaded_file(): open_basedir restriction in effect. File(/volume1/uploads/1717e0dcb3d413c45bdfea5009e3a608ce19e58ca408871f01d23596b08950de.png) is not within the allowed path(s): (/volume2/web:/tmp:/var/services/tmp:/var/services/web:/var/services/homes) in /volume2/web/sitebeta/admin/ajouter.php on line 46 Call Stack: 0.0002 136304 1. {main}() /volume2/web/sitebeta/admin/ajouter.php:0 0.0021 145312 2. move_uploaded_file() /volume2/web/sitebeta/admin/ajouter.php:46
Warning: move_uploaded_file(): open_basedir restriction in effect. File(/volume1/uploads/1717e0dcb3d413c45bdfea5009e3a608ce19e58ca408871f01d23596b08950de.png) is not within the allowed path(s): (/volume2/web:/tmp:/var/services/tmp:/var/services/web:/var/services/homes) in /volume2/web/sitebeta/admin/ajouter.php on line 46 Call Stack: 0.0002 136304 1. {main}() /volume2/web/sitebeta/admin/ajouter.php:0 0.0021 145312 2. move_uploaded_file() /volume2/web/sitebeta/admin/ajouter.php:46
tu n'as pas répondu à ma question "où souhaites-tu exactement sauver le fichier?".
peux-tu également décrire ce que tu as changé, et ce que tu as spécifié comme fichier de destination?
ton code php est dans le répertoire /volume2/web/sitebeta/admin
veux-tu vraiment sauver ton fichier dans /volume1/uploads?
peux-tu également décrire ce que tu as changé, et ce que tu as spécifié comme fichier de destination?
ton code php est dans le répertoire /volume2/web/sitebeta/admin
veux-tu vraiment sauver ton fichier dans /volume1/uploads?
yg_be
Messages postés
23541
Date d'inscription
Statut
Contributeur
Dernière intervention
Ambassadeur
1 584
peut-être:
$upload_repertoire = $_SERVER['DOCUMENT_ROOT'].'/../uploads';
Voici le message d'erreur:
Warning: move_uploaded_file(/volume2/web/volume1/uploads/8c024636ef8f6f0f2a6fdcac96d265c08c644598aee00046e23e83641abee0be.png): failed to open stream: No such file or directory in /volume2/web/sitebeta/admin/ajouter.php on line 47 Call Stack: 0.0320 137952 1. {main}() /volume2/web/sitebeta/admin/ajouter.php:0 0.1768 146976 2. move_uploaded_file() /volume2/web/sitebeta/admin/ajouter.php:47 Warning: move_uploaded_file(): Unable to move '/volume1/@tmp/phpJqM5Ed' to '/volume2/web/volume1/uploads/8c024636ef8f6f0f2a6fdcac96d265c08c644598aee00046e23e83641abee0be.png' in /volume2/web/sitebeta/admin/ajouter.php on line 47 Call Stack: 0.0320 137952 1. {main}() /volume2/web/sitebeta/admin/ajouter.php:0 0.1768 146976 2. move_uploaded_file() /volume2/web/sitebeta/admin/ajouter.php:47
Warning: move_uploaded_file(/volume2/web/volume1/uploads/8c024636ef8f6f0f2a6fdcac96d265c08c644598aee00046e23e83641abee0be.png): failed to open stream: No such file or directory in /volume2/web/sitebeta/admin/ajouter.php on line 47 Call Stack: 0.0320 137952 1. {main}() /volume2/web/sitebeta/admin/ajouter.php:0 0.1768 146976 2. move_uploaded_file() /volume2/web/sitebeta/admin/ajouter.php:47 Warning: move_uploaded_file(): Unable to move '/volume1/@tmp/phpJqM5Ed' to '/volume2/web/volume1/uploads/8c024636ef8f6f0f2a6fdcac96d265c08c644598aee00046e23e83641abee0be.png' in /volume2/web/sitebeta/admin/ajouter.php on line 47 Call Stack: 0.0320 137952 1. {main}() /volume2/web/sitebeta/admin/ajouter.php:0 0.1768 146976 2. move_uploaded_file() /volume2/web/sitebeta/admin/ajouter.php:47
Voila après une petite modification sur le serveur php voila ou j'en suis: Warning: move_uploaded_file(/6b6f5385aace49bbbe414b1f6f7ddbd474d4b1345f5af0b48c3f4b3d98aa5846.PNG): failed to open stream: Permission denied in /volume2/web/sitebeta/admin/ajouter.php on line 47 Call Stack: 0.0002 135464 1. {main}() /volume2/web/sitebeta/admin/ajouter.php:0 0.0073 144456 2. move_uploaded_file() /volume2/web/sitebeta/admin/ajouter.php:47 Warning: move_uploaded_file(): Unable to move '/volume1/@tmp/phprh9izh' to '/6b6f5385aace49bbbe414b1f6f7ddbd474d4b1345f5af0b48c3f4b3d98aa5846.PNG' in /volume2/web/sitebeta/admin/ajouter.php on line 47 Call Stack: 0.0002 135464 1. {main}() /volume2/web/sitebeta/admin/ajouter.php:0 0.0073 144456 2. move_uploaded_file() /volume2/web/sitebeta/admin/ajouter.php:47
Voici le code :
merci d'avance de votre réponse.
Voici le code :
$upload_repertoire = ini_set('open_basedir', $_SERVER['DOCUMENT_ROOT'].'/volume2/web/sitebeta/upload');
merci d'avance de votre réponse.
Ou la configuration du serveur je sais pas trop....