====== 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**