Jump to content

Manuel:ImportImages.php

From mediawiki.org
This page is a translated version of the page Manual:ImportImages.php and the translation is 100% complete.

importImages.php est un script qui permet de téléverser des images dans MediaWiki à partir de l'ordinateur sur lequel le wiki est configuré. Il réalise un téléversement à distance lorsque le paramètre de configuration $wgForeignFileRepos est activé ou si vous utilisez une extension telle que AWS (S3) qui le configure correctement.

Si vous envisagez d'importer également les descriptions des fichiers sur les pages d'images, alors il faut le faire avant d'exécuter importImages.php. Sinon ces descriptions de fichiers seront enfouies sous l'import dans l'historique des pages. Si vous faites une erreur, il est possible de la corriger avec un script de robot tel que FixFileDescriptionPagesBot.php .

Exemples

Téléverser avec le commentaire par défaut "Importing file" et l'utilisateur par défaut "Maintenance script" :

php maintenance/run.php importImages /path/to/images/directory

Téléverser avec le commentaire personnalisé "Importer les fichiers depuis le dépot de fichiers local" et l'utilisateur par défaut "Maintenance script" :

php maintenance/run.php importImages /path/to/images/directory --comment="Importer les fichiers à partir du dépot de fichiers local."

Téléversement avec le commentaire personnalisé "Importer des fichiers depuis le référentiel de fichiers local" et l'utilisateur personnalisé "Administrateur de téléversement" (qui doit déjà exister, sinon une erreur se produira) :

php maintenance/run.php importImages /path/to/images/directory --comment="Importer des fichiers à partir du dépôt de fichiers local." --user="Administrateur de téléversement"

Par défaut, importImages.php ne cherchera pas ni ne téléversera pas les images présentes dans les sous-répertoires (récursion de répertoire). Par conséquent, pour téléverser avec le commentaire personnalisé "Importer des fichiers depuis le référentiel de fichiers local", l'utilisateur personnalisé "Administrateur de téléversement" et rechercher récursivement les fichiers dans les sous-répertoires vous écrirez :

php maintenance/run.php importImages /path/to/images/directory --comment="Importer les fichiers à partir du dépot de fichiers local." --user="Administrateur de téléversement" --search-recursively
Avertissement Avertissement : si ce script est utilisé pour importer des fichiers du répertoire des fichiers d'une installation MediaWiki avec l'option --search-recursively, faites attention à ne pas sauter les sous-répertoires autres que \0\9 et \a\f (en particulier, les sous-répertoires \archive ou \deleted sont pour les fichiers supprimés, et le sous-répertoire \thumb contient les vignettes générées).

importImages.php ne réécrasera pas les images si une image avec le même nom existe déjà sur le wiki. Par conséquent, pour téléverser avec le commentaire personnalisé "Importer des fichiers depuis le référentiel de fichiers local", l'utilisateur personnalisé "Administrateur de téléversement" et réécraser les images existantes :

php maintenance/run.php importImages /path/to/images/directory --comment="Importer les fichiers à partir du dépot de fichiers local." --user="Administrateur de téléversement" --overwrite

Même chose que ci-dessus, mais seulement en réécrasant les types d'image fournis, par exemple pdf :

php maintenance/run.php importImages /path/to/images/directory --comment="Importer les fichiers à partir du dépot de fichiers local." --user="Administrateur de téléversement" --overwrite --extensions=pdf

Exemple d'une importation d'image réussie (Foo.jpg) :

root@f345:/home/t/public_html/mywikisite/public/w/maintenance# php run.php importImages /home/t/public_html/import --extensions=svg,png,jpg,jpeg,gif,bmp,SVG,PNG,JPG,JPEG,GIF,BMP

Import Images

Importing Foo.jpg...done.

Found: 1

Added: 1

root@f345:/home/t/public_html/mywikisite/public/w/maintenance#

C'est probablement une bonne idée que d'exécuter ce script en tant qu'utilisateur apache (communément soit apache ou www-data). Sinon, les fichiers téléversés seront la propriété de la personne qui a exécuté le script, ce qui peut empêcher MediaWiki de pouvoir renommer, supprimer ou manipuler les fichiers ultérieurement.

Arguments

Version de MediaWiki :
1.21
$ php maintenance/run.php importImages
Import Images

Imports images and other media files into the wiki
Usage: php maintenance/run.php importImages [OPTION]... <dir>

<dir> : Path to the directory containing images to be imported
Dans la version MediaWiki 1.39.12 et antérieure, vous devez invoquer des scripts de maintenance à l'aide de php maintenance/scriptName.php au lieu de php maintenance/run.php scriptName.
Option Description Valeur par défaut Obligatoire ?
--dir chemin vers le répertoire contenant les images à importer optionnel
--extensions=<exts> liste des extensions autorisées séparées par des virgules, par défaut à $wgFileExtensions optionnel
--overwrite réécrase les images de même nom (par défaut, les sauter) optionnel
--limit=<name> limite le nombre d'images à traiter. Les images ignorées ou sautées ne sont pas comptées optionnel
--from=<name> ignore tous les fichiers, à l'exception de celui dont le nom est fourni. Utile pour reprendre des importations interrompues. Le nom du fichier doit être sous la forme canonique de base de données. optionnel
--skip-dupes saute les images qui ont déjà été téléversées sous un nom différent (vérifier le SHA1) optionnel
--search-recursively recherche récursive des fichiers dans les sous-répertoires optionnel
--sleep=<sec> pause entre les dossiers. Utilisé principalement pour le débogage optionnel
--user=<username> initialise le nom d'utilisateur du téléverseur 'Maintenance script' optionnel
--check-userblock vérifie si l'utilisateur a été bloqué lors de l'import optionnel
--comment=<text> description du fichier 'Importing file' optionnel
--comment-file=<file> description du contenu de ce fichier optionnel
--comment-ext=<ext> Fait que la description de chaque fichier soit chargée à partir d'un fichier portant le même nom, mais qui a l'extension fournie ici. Si une description globale est aussi fournie, elle est ajoutée. optionnel
--summary=<sumary> Résumé de téléversement, description sera utilisé s'il n'est pas fourni optionnel
--license utiliser un modèle de licence facultative optionnel
--timestamp=<timestamp> réécrase l'heure ou la date du téléversement, tous les formats d'horodatage MediaWiki sont acceptés false optionnel
--protect=<protect> indiquer la valeur des droits (autoconfirmed, sysop) optionnel
--unprotect enlever la protection sur toutes les images téléversées optionnel
--source-wiki-url s'il est utilisé, il faut prendre à partir de cette URL les données utilisateur et le commentaire de chaque fichier importé. Par exemple, --source-wiki-url="https://en.wikipedia.org/w/ optionnel
--dry exécution à vide sans rien importer optionnel
--comment-ext définit une extension de fichier comme .meta qui contient le commentaire du fichier, c'est-à-dire le contenu de la page des métadonnées du wiki associée à chaque fichier importé. Cette option prend en charge les métadonnées par fichier, alors que l'option --comment prend en charge uniquement les métadonnes par import. La valeur de --comment-ext est acceptée avec ou sans le point initial (.meta équivaut à meta), la valeur peut être entre apostrophes ou pas. Le fichier associé est recherché à la fois comme extension ajoutée ou substituée. Ainsi, l'importation de x.jpg et la définition de --comment-ext meta ou --comment-ext=meta soit de x.meta ou x.jpg.meta seront utilisés pour définir la page des métadonnées initiale (c'est-à-dire la page affichée pour File:x.jpg).
La forme canonique de base de données nécessaire à --from est obtenue à partir du nom de fichier, en mettant en majuscule la première lettre, en remplaçant tous les espaces par des caractères de soulignement, et en les réduisant à un seul s'il s'en trouve plusieurs consécutifs. Par exemple, pour commencer avec le fichier someFile with __weird_ spaces.png, l'argument correct serait --from=SomeFile_with_weird_spaces.png

Résolution des problèmes

Impossible d'ouvrir un fichier bloqué

Essayer chmod -R 777 images (même si la valeur était déjà 755, quelques fois il faut avoir 777)

Image à téléverser non trouvée

Exemple où le script ne trouve pas d'image à téléverser :

vi-notebook:/var/lib/mediawiki1.7# php maintenance/run.php importImages /store/wiki/absurd_pic jpg
Import Images

Warning: Invalid argument supplied for foreach() in /usr/share/mediawiki1.7/maintenance/run.php importImages on line 34

Chemin incorrect du répertoire

t@f66677:~/public_html/dead.com/public/w/maintenance$ php run.php importImages /m gif bmp PNG JPG GIF BMP
Import Images

No suitable files could be found for import.

Habituellement, c'est parce que le chemin vers ce dossier n'existe pas tel qu'il est formulé.

Erreur sur échec du téléversement

login as: ideakwty
ideakwty@164.413.451.184's password:
[ideakwty@server98 ~]$ cd public_html/youareapuppet.com/mw/maintenance
[ideakwty@server98 maintenance]$ php run.php importImages /public_html/TO svg png jpg jpeg gif bmp SVG PNG JPG JPEG GIF BMP
Import Images

No suitable files could be found for import.
[ideakwty@server98 maintenance]$

Lorsque l'utilisateur n'a pas les droits pour téléverser les images

L'erreur suivante peut avoir deux causes :

  1. Les droits sur les répertoires doivent être modifiés et / ou
  2. l'utilisateur n'a pas les droits pour téléverser les images

Problème 1 - les droits des répertoires doivent être modifiés

Solution - modifier les droits d'accès au répertoire
modifier chmod dans winSCP
  1. chmod pour les quatre répertoires suivants à 777 :
    1. images
    2. images/temp
    3. images/thumb
    4. images/archive
  2. Si ce n'est pas déjà fait dans LocalSettings.php, supprimer le commentaire de la ligne $wgHashedUploadDirectory = false; en enlevant le # du début de ligne.

Problème 2 - l'utilisateur n'a pas les droits pour téléverser les images

Solution - changer d'utilisateur ou modifier les droits de téléchargement de l'utilisateur


Voir aussi