====== Upload de fichiers ====== L'upload est l'envoi de fichiers, de l'ordinateur du visiteur, vers le serveur hébergeant NPDS. Il est entre-autres utilisé pour les avatars personnels, pour les [[:publication:minisite:start|minisites]] et pour les fichiers joints aux [[:forum:start|forums]] ===== Le fichier upload.conf.php ===== La plupart les problèmes liés à l'upload sont en fait dûs à une mauvaise configuration du fichier **upload.conf.php**. Celui-ci se trouve dans /modules/upload/. ==== Paramètres d'upload ==== === DocumentRoot === Le DocumentRoot est un paramètre très important : il désigne le **chemin absolu vers votre NPDS**. NPDS essaye de le définir automatiquement mais la méthode employée n'est pas très fiable. L'idéal est de le règler manuellement. Si vous ne le connaissez pas, créez un fichier test.php, à la racine de votre NPDS, et mettez-y ceci : Ensuite accédez à ce fichier (http://votre-site/test.php) et il affichera le document-root à mettre dans upload.conf.php == Exemples == $DOCUMENTROOT = '/home/toto/public_html'; $DOCUMENTROOT = 'C:\Porgram Files\EasyPHP\www\NPDS'; $DOCUMENTROOT = '/var/www/npds'; === Racine et URL_Upload=== Il y a quelques problèmes avec la racine sous NPDS Sable... **Laissez-la vide**! URL_Upload et racine étant toujours utilisés ensemble, il y a donc le même problème. FIXME Dans URL_Upload, mettez uniquement l'URL de votre site == Exemples == $racine = ''; $url_upload = 'http://votre-site/'; ==== Paramètres supplémentaires ==== === Max_Size === Taille maximale de chaque fichier uploadé, en **octets** == Exemple == $max_size = 1048576; //Taille maximale : 1Mo === Quota === Taille maximale de l'ensemble des fichiers stockés pour un utilisateur ou un post. Ceci permet de limiter la taille des minisites. **En octets** == Exemple == $quota = 3145728; //Quota : 3Mo === Autorise_upload_p === Créer un dossier pour chaque utilisateur, **true** ou **false** == Exemple == $autorise_upload_p = true; //Crée un dossier d'upload pour chaque utilisateur === Url_upload_css === Adresse la feuille de style utilisée pour la petite fenêtre d'upload (éditeur, minisite et forums) == Exemple == $url_upload_css = 'themes/Permanent-Double-Side/style/style.css'; //Utilise la feuille de style de Permanent-Double-Side === Extension_autorise === Ensemble des extensions des fichiers que les utilisateurs pourront uploader, **séparées par un espace** == Exemple == $extension_autorise="doc xls pps ppt sxw xls sxi sxd sxg stw rtf txt pdf zip rar tar tgz gif jpg jpeg png"; //Autorise toutes ces extensions === Ed_nb_images === Nombre d'images par ligne dans le navigateur de documents (éditeur), **nombre entier et positif** == Exemple == $ed_nb_images = 10; //Affiche 10 images par ligne === Width_max et Height_max === Taille maximale, en lageur et hauteur, des images affichées dans le navigateur de documents (éditeur), **en pixels** == Exemple == $width_max = 50; //Maximum 50 pixels de lageur $height_max = 50; //Maximum 50 pixels de hauteur === Ed_profil === Rassemble quatre paramètres pour les paramètres d'upload de l'éditeur. Chaque paramètre est représenté par un **1** lorsqu'il est activé ou un **0** lorsqu'il est désactivé Dans l'ordre : - Afficher les images contenues dans **!divers** - Afficher les images contenues dans **!mime** - Afficher les images contenues dans la **racine** - Afficher les images contenues dans les **documents personnels** == Exemple == $ed_profil = '1011'; === Rep_upload, Rep_cache et Rep_log === Rep_upload est le répertoire où sont stockés les fichiers divers Rep_cache est le répertoire temporaire où transitent tous les fichiers uploadés Rep_log est le fichier où sont enregistrés les évènements (logs) Les deux premiers étant des répertoires, ils nécessitent un **/ final**. == Exemple == $rep_upload = '/modules/upload/upload/'; $rep_cache = '/modules/upload/tmp/'; $rep_log = 'logs/security.log'; ===== Encore des problèmes? ===== Si vous êtes sûr que votre upload.conf.php est bien configuré mais que vous n'arrivez toujours pas à uploader de fichiers sur votre site, le problème est probablement dû aux [[chmod|chmods]]. Vérifiez ces différents répertoires : * **users_private**, chmod 777 * **modules/upload/upload/**, chmod 766 * **modules/upload/tmp/**, chmod 766 * **Liste non-exhaustive**