Příručka:ImportImages.php

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

importImages.php je script, který nahrává obrázky do MediaWiki ze stejného počítače, kde je konfigurována wiki. Pokud je konfigurační parametr $wgForeignFileRepos správně nakonfigurován, nebo pokud používáte rozšíření, které jej správně konfiguruje, jako je rozšíření AWS (S3) , provede vzdálené nahrávání.

Pokud plánujete importovat i popisy souborů na obrázkové stránky, měli byste to udělat před spuštěním importImages.php. Jinak budou tyto popisy souborů pohřbeny pod importem v historii stránky. Pokud tuto chybu uděláte, můžete ji opravit pomocí skriptu bota, například FixFileDescriptionPagesBot.php .

Příklady

Nahrajte s výchozím komentářem "Importing file" a výchozím uživatelem "Maintenance script":

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

Nahrajte s vlastním komentářem "Import souborů z místního úložiště souborů" a výchozím uživatelem "Maintenance script":

php maintenance/importImages.php /path/to/images/directory --comment="Import souborů z místního úložiště souborů"

Nahrajte s vlastním komentářem "Import souborů z místního úložiště souborů" a vlastním uživatelem "Nahraný admin" (který již musí existovat, jinak dojde k chybě):

php maintenance/importImages.php /path/to/images/directory --comment="Import souborů z místního úložiště souborů" --user="Nahraný admin"

importImages.php nebude ve výchozím nastavení vyhledávat a nahrávat obrázky v podadresářích (rekurze adresáře). Proto nahrajte s vlastním komentářem "Import souborů z místního úložiště souborů", vlastní uživatel "Nahraný admin": a rekurzivně vyhledejte soubory v podadresářích:

php maintenance/importImages.php /path/to/images/directory --comment="Import souborů z místního úložiště souborů" --user="Nahraný admin" --search-recursively
  Varování: Pokud se tento skript používá k importu souborů z adresáře souborů instalace MediaWiki s volbou --search-recursively, dejte pozor, abyste přeskočili jakékoli podadresáře jiné než \0\9 a \a\f (zejména jakékoli podadresáře \archive nebo \deleted budou pro smazané soubory a podadresář \thumb vygenerovat miniatury).

importImages.php nepřepíše obrázky, pokud obrázek se stejným názvem již na wiki existuje. Proto nahrajte s vlastním komentářem "Import souborů z místního úložiště souborů", vlastním uživatelem "Nahrávající admin" a přepište existující obrázky:

php maintenance/importImages.php /path/to/images/directory --comment="Import souborů z místního úložiště souborů" --user="Nahrávající admin" --overwrite

Stejné jako výše, ale pouze přepsání daných typů obrázků, např. pdf:

php maintenance/importImages.php /path/to/images/directory --comment="Import souborů z místního úložiště souborů" --user="Nahrávající admin" --overwrite --extensions=pdf

Příklad, jak vypadá úspěšný import jednoho obrázku (Foo.jpg):

root@f345:/home/t/public_html/mywikisite/public/w/maintenance# php importImages.php /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#

Pravděpodobně je dobrý nápad spustit tento skript jako uživatel apache (běžně buď apache nebo www-data). V opačném případě budou nahrané soubory ve vlastnictví osoby, která skript spustila, což může později zabránit MediaWiki v možnosti přesunovat, mazat nebo jinak manipulovat se soubory.

Argumenty

Verze MediaWiki:
1.21
$ php importImages.php
Import Images

Imports images and other media files into the wiki
USAGE: php importImages.php [options] <dir>

<dir> : Path to the directory containing images to be imported
Volba Popis Výchozí Povinné?
--dir Cesta k adresáři obsahujícímu obrázky, které mají být importovány Volitelné
--extensions=<exts> Seznam povolených rozšíření oddělených čárkami, výchozí hodnota je $wgFileExtensions Volitelné
--overwrite Přepsat existující obrázky se stejným názvem (výchozí nastavení je přeskočit) Volitelné
--limit=<name> Omezte počet obrázků ke zpracování. Ignorované nebo přeskočené obrázky se nepočítají Volitelné
--from=<name> Ignorujte všechny soubory, dokud nebude ten s daným názvem. Užitečné pro obnovení přerušených importů. Název by měl být ve formě kanonické databáze souboru. Volitelné
--skip-dupes Přeskočit obrázky, které již byly nahrány pod jiným názvem (zkontroluje SHA1) Volitelné
--search-recursively Rekurzivně vyhledávat soubory v podadresářích Volitelné
--sleep=<sec> Spánek mezi soubory. Užitečné hlavně pro ladění Volitelné
--user=<username> Nastavení uživatelského jména uživatele, který video nahrál 'Maintenance script' Volitelné
--check-userblock Zkontrolujte, zda nebyl uživatel během importu zablokován Volitelné
--comment=<text> Nastavit popis souboru 'Importing file' Volitelné
--comment-file=<file> Nastavit popis obsahu tohoto souboru Volitelné
--comment-ext=<ext> Způsobí, že popis každého souboru bude načten ze souboru se stejným názvem, ale s poskytnutou příponou. Pokud je uveden také globální popis, je připojen. Volitelné
--summary=<sumary> Nahrajte shrnutí, pokud nebude poskytnut popis, použije se Volitelné
--license Použijte volitelnou licenční šablonu Volitelné
--timestamp=<timestamp> Přepište čas/datum nahrávání, všechny formáty časových razítek MediaWiki jsou přijímány false Volitelné
--protect=<protect> Zadejte hodnotu ochrany (autoconfirmed, sysop) Volitelné
--unprotect Zruší ochranu všech nahraných obrázků Volitelné
--source-wiki-url Pokud je to zadáno, vezměte data uživatele a komentáře pro každý importovaný soubor z této adresy URL. Například, --source-wiki-url="https://en.wikipedia.org/w/ Volitelné
--dry Nasucho, nic nedovážet Volitelné
--comment-ext definuje příponu souboru jako .meta, která obsahuje komentář k souboru, tj. obsah stránky wiki-metadata přidružené ke každému importovanému souboru. To podporuje metadata pro jednotlivé soubory, zatímco možnost --comment podporuje pouze metadata pro import. Hodnota --comment-ext funguje s nebo bez úvodní tečky (.meta i meta), hodnota může být uvedena nebo nemusí. Přidružený soubor je prohledáván jako připojená i nahrazená přípona. Proto import x.jpg a nastavení --comment-ext meta nebo --comment-ext=meta buď x.meta nebo x.jpg.meta bude použito k nastavení úvodní stránky metadat (tj. stránky zobrazené pro File:x.jpg).
"Formulář kanonické databáze" vyžadovaný --from se získá z názvu souboru tak, že se první písmeno napíše velkým písmenem, všechny mezery se nahradí podtržítkem a potom se několik po sobě jdoucích podtržítek nahradí jedním podtržítkem. Chcete-li například začít se souborem someFile with __weird_ spaces.png, správný argument by byl --from=SomeFile_with_weird_spaces.png

Odstraňování problémů

Nelze otevřít zámek souboru

Zkuste chmod -R 777 images (i když už byl nastaven na 755, někdy je potřeba nastavit na 777)

Nenalezen obrázek k nahrání

Příklad, kdy skript nenajde žádný obrázek k nahrání:

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

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

Nesprávná cesta ke složce

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

No suitable files could be found for import.

Obvykle je to proto, že cesta ke složce je nesprávná.

Chyba při nahrávání

login as: ideakwty
ideakwty@164.413.451.184's password:
[ideakwty@server98 ~]$ cd public_html/youareapuppet.com/mw/maintenance
[ideakwty@server98 maintenance]$ php importImages.php /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]$

"No suitable files could be found for import." error when user does not have the privileges to upload the pictures

The following error can be caused by two issues:

  1. Directory permissions needs to be changed, and/or
  2. user does not have the privileges to upload the pictures

Problem 1: Directory permissions needs to be changed

Solution: Change directory's mode
 
changing chmod in winSCP
  1. chmod four folders to 777:
    1. images,
    2. images/temp,
    3. images/thumb and
    4. images/archive
  2. If it hasn't already been done, in LocalSettings.php, uncomment the line $wgHashedUploadDirectory = false; by removing the # in front of the line.

Problem 2: user does not have the privileges to upload the pictures

Solution: switch users or change user upload privileges.

Související odkazy