Habilitar upload per a imatges i pdf, etc
Per tal de carregar imatges i d'altrs fitxers s'han de donar tres condicions:
- hem d'habilitar Upload en el fitxer LocalSettings.php (compte! el que està a l'arrel, no el que està en el includes).
- $wgEnableUploads = true;
- Dins de include/DefaultSettings.php, el fitxer ha d'estar permès. paràmetre $wgFileExtensions. Una altra possibilitat per no tenir en compte les extensions és $wgCheckFileExtensions = false;
- Hem d'estar logats.
Ara ja ens apareix en la barra de l'esquerra, en l'apartat Eines, l'opció Carrega (que és la traducció que han fet de Upload)
Missatge: El servidor web no pot escriure el directori de càrrega (/usr/share/apache2/wiki/images)
he de donar permisos d'escriptura a aquesta carpeta.
$ chmod ugo+w /usr/share/apache2/wiki/images
i ara sí
Carrego una imatge, i la podem buscar a:
wiki/images/c/c8/Captura.png wiki/images/thumb/c/c8/Captura.png
Per carregar una imatge en una wiki faré
[[Imatge:Fitxer.png|alt text]]
Però vull enviar altres fitxers. per exemple, envio un pdf, però em diu que
".pdf" no és un format recomanat d'imatge.
Per solucionar-ho afegeixo pdf en el paràmetre $wgFileExtensions:
$wgFileExtensions = array( 'png', 'gif', 'jpg', 'jpeg', 'pdf', 'gz' );
i ara sí que podem carregar el fitxer pdf (tot i que es pensa que és una imatge):
(per a l'extensió .tar.gz s'ha de ficar senzillament .gz). Cal reiniciar l'Apache.
Job_1-untitled_document.pdf (20KB, MIME type: application/pdf)
El pdf està a:
./8/87/Job_4-untitled_document.pdf
però és curiós perquè a mida que vaig afegint documents pdf, estan en carpetes diferents:
./a/ad/Job_3-untitled_document.pdf ./f/f7/Job_1-untitled_document.pdf ./8/87/Job_4-untitled_document.pdf
Finalment, per afegir en una wiki un enllaç a un document pdf (o a un altre fitxer que pugui suportar el navegador web), farem:
[http://localhost/wiki/images/8/87/Job_4-untitled_document.pdf document.pdf]
És a dir, necessito saber la ruta on es troba el recurs, i fer com si fos un enllaç extern
Modificar el tamany màxim del upload
Vull pujar un pdf de 3MB i no em deixa.
A mediawiki, dins del fitxer /includes/DefaultSettings.php hi ha els paràmetres
- $wgUploadSizeWarning = 1500 * 1024;
- $wgMaxUploadSize = 1024*1024*100; # 100MB
el primer només notifica un warning, i el segon és el que ens afecta, però fixem-nos que el límit és molt alt.
El problema no és del mediawiki, sinó de les directives del PHP. Per canviar els límits per als uploads, en el fitxer ./etc/php5/apache2/php.ini canviem el paràmetre upload_max_filesize:
upload_max_filesize = 5M
per defecte el límit són 2M