(Redirected from ImportImages.php)
Jump to: navigation, search

importImages.php is a script which uploads images to MediaWiki from the same computer where the wiki is configured. It doesn't do a remote upload.

If you plan on importing file description pages too, then you should do that before you run importImages.php. Otherwise, those file descriptions will be buried underneath the import in the page history. If you make this mistake, then you can fix it with a bot script such as FixFileDescriptionPagesBot.php.

Example[edit | edit source]

php maintenance/importImages.php /path/to/images/directory svg png jpg jpeg gif bmp SVG PNG JPG JPEG GIF BMP

Importimages.php will not search and upload images in sub-directories (directory recursion)

An example of what a successful import of one image (Foo.jpg) looks like:

root@f345:/home/t/public_html/ php importImages.php /home/t/public_html svg png jpg jpeg gif bmp SVG PNG JPG JPEG GIF BMP

Import Images

Importing Foo.jpg...done.

Found: 1

Added: 1


It is probably a good idea to run this script as the apache user (Commonly either apache or www-data). Otherwise the uploaded files will be owned by the person who ran the script, which may prevent MediaWiki from being able to move, delete, or otherwise manipulate the files later on

Arguments[edit | edit source]

MediaWiki version: 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

--extensions=<exts>       Comma-separated list of allowable extensions, defaults to $wgFileExtensions
--overwrite             Overwrite existing images with the same name (default is to skip them)
--limit=<num>             Limit the number of images to process. Ignored or skipped images are not counted.
--from=<name>             Ignore all files until the one with the given name. Useful for resuming
                                                aborted imports. <name> should be the file's canonical database form.
--skip-dupes            Skip images that were already uploaded under a different name (check SHA1)
--sleep=<sec>             Sleep between files. Useful mostly for debugging.
--user=<username>         Set username of uploader, default 'Maintenance script'
--check-userblock       Check if the user got blocked during import.
--comment=<text>          Set upload summary comment, default 'Importing image file'.
--comment-file=<file>     Set upload summary comment the the content of <file>.
--comment-ext=<ext>       Causes the comment for each file to be loaded from a file with the same name
                        but the extension <ext>. If a global comment is also given, it is appended.
--license=<code>          Use an optional license template
--dry                   Dry run, don't import anything
--protect=<protect>     Specify the protect value (autoconfirmed,sysop)
--unprotect             Unprotects all uploaded images
--source-wiki-url   if specified, take User and Comment data for each imported file from this URL.
                                        For example, --source-wiki-url=""

Note Note: "--comment-ext" defines a file extension like ".meta" that contains the file comment, i.e. the content of the wiki-metadata-page associated with each imported file. This supports per-file metadata, whereas the --comment option supports only per-import metadata. The value of --comment-ext works with or without a leading dot (.meta as well as meta), the value may be quoted or not. The associated file is searched both as appended and substituted extension. Thus, importing x.jpg and setting "--comment-ext meta" or "--comment-ext=meta" either of x.meta or x.jpg.meta will be used to set the initial metadata page (i.e. the page shown for File:x.jpg).

Common error messages[edit | edit source]

Does not find the picture to upload[edit | edit source]

Example where the script doesn't find any picture to upload:

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

Incorrect folder path

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

No suitable files could be found for import.

Usually this is because the path to the folder is incorrect.

Upload failed error[edit | edit source]

The following error can be caused by two issues:

  1. chmod permissions needs to be changed, and/or
  2. user does not have the privileges to upload the pictures
vi-notebook:/var/lib/mediawiki1.7# php maintenance/importImages.php /store/wiki/absurd_pic/0/00 jpg
Import Images

Saving Coke.jpg...failed.
Saving JapanOrange.jpg...failed.
Saving Friki.JPG...failed.

Problem 1: chmod permissions needs to be changed

Solution: Change chmod settings
changing chmod in winSCP
  1. chmod four folders:
    1. images
    2. images/temp,
    3. images/thumb and
    4. images/archive to 777
  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 privileges

Skipping existing pictures[edit | edit source]

By default, ImportImages.php will not overwrite pictures. If a picture with the same name already exists on the wiki, you will get this error:

php importImages.php /home gif bmp PNG JPG GIF BMP
Import Images

Dadtest.jpg exists, skipping

Found: 1
Skipped: 1

To overwrite any images type:

php importImages.php /home gif bmp PNG JPG GIF BMP --overwrite

The result will be:

Import Images

Dadtest.jpg exists, overwriting...done.

Found: 1
Overwritten: 1

See also[edit | edit source]