importImages.php is a script which uploads images to MediaWiki from the same computer where the wiki is configured. It does a remote upload if configuration parameter $wgForeignFileRepos is configured correctly, or if you are using an extension that correctly configures it, such as the AWS (S3) extension.
If you plan on importing the file descriptions on the image pages too, then you should do that
beforeyou 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.
Upload with default comment "Importing file" and default user "Maintenance script":
php maintenance/run.php importImages /path/to/images/directory
Upload with custom comment "Importing files from local file repository" and default user "Maintenance script":
php maintenance/run.php importImages /path/to/images/directory --comment="Importing files from local file repository"
Upload with custom comment "Importing files from local file repository" and custom user "Upload admin" (which must already exist, or an error will occur):
php maintenance/run.php importImages /path/to/images/directory --comment="Importing files from local file repository" --user="Upload admin"
importImages.php
will not search and upload images in sub-directories (directory recursion) by default. Therefore upload with custom comment "Importing files from local file repository", custom user "Upload admin" and recursively search for files in subdirectories:
php maintenance/run.php importImages /path/to/images/directory --comment="Importing files from local file repository" --user="Upload admin" --search-recursivelyWarning: If this script is being used to import files from a MediaWiki installation's file directory with the
--search-recursively
option, be careful to skip any subdirectories other than \0
–\9
and \a
–\f
(in particular, any \archive
or \deleted
subdirectories will be for deleted files, and the \thumb
subdirectory has generated thumbnails).
importImages.php will not overwrite images if an image with the same name already exists on the wiki. Therefore upload with custom comment "Importing files from local file repository", custom user "Upload admin" and overwrite existing images:
php maintenance/run.php importImages /path/to/images/directory --comment="Importing files from local file repository" --user="Upload admin" --overwrite
The same as above but only overwriting the given image types, e.g. pdf:
php maintenance/run.php importImages /path/to/images/directory --comment="Importing files from local file repository" --user="Upload admin" --overwrite --extensions=pdf
An example of what a successful import of one image (Foo.jpg) looks like:
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,BMPImport Images
Importing Foo.jpg...done.
Found: 1
Added: 1
root@f345:/home/t/public_html/mywikisite/public/w/maintenance#
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.
≥ 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
In MediaWiki version
1.39.13and earlier, you must invoke maintenance scripts using
php maintenance/scriptName.php
instead of
php maintenance/run.php scriptName
.
Option Description Default Required? --dir Path to the directory containing images to be imported Optional --extensions=<exts> Comma-separated list of allowable extensions, defaults to $wgFileExtensions Optional --overwrite Overwrite existing images with the same name (default is to skip them) Optional --limit=<name> Limit the number of images to process. Ignored or skipped images are not counted Optional --from=<name> Ignore all files until the one with the given name. Useful for resuming aborted imports. The name should be the file's canonical database form. Optional --skip-dupes Skip images that were already uploaded under a different name (check SHA1) Optional --search-recursively Search recursively for files in subdirectories Optional --sleep=<sec> Sleep between files. Useful mostly for debugging Optional --user=<username> Set username of uploader'Maintenance script'
Optional --check-userblock Check if the user got blocked during import Optional --comment=<text> Set file description 'Importing file'
Optional --comment-file=<file> Set description to the content of this file Optional --comment-ext=<ext> Causes the description for each file to be loaded from a file with the same name, but the extension provided. If a global description is also given, it is appended. Optional --summary=<sumary> Upload summary, description will be used if not provided Optional --license Use an optional license template Optional --timestamp=<timestamp> Override upload time/date, all MediaWiki timestamp formats are accepted false
Optional --protect=<protect> Specify the protect value (autoconfirmed, sysop) Optional --unprotect Unprotects all uploaded images Optional --source-wiki-url If specified, take User and Comment data for each imported file from this URL. For example, --source-wiki-url="https://en.wikipedia.org/w/
Optional --dry Dry run, don't import anything Optional
--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
).
The "canonical database form" required by --from
is obtained from the file name by capitalizing the first letter, replacing all spaces with underscores, and then replacing multiple consecutive underscores with one underscore. For example, to start with the file someFile with __weird_ spaces.png
, the correct argument would be --from=SomeFile_with_weird_spaces.png
Try chmod -R 777 images
(even if it was already set to 755, sometimes it needs to be set to 777)
Example where the script does not find any picture to upload:
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
Incorrect folder path
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.
Usually this is because the path to the folder is incorrect.
Upload failed error[edit]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.
The following error can be caused by two issues:
Problem 1 - Directory permissions needs to be changed
$wgHashedUploadDirectory = false;
by removing the #
in front of the line.Problem 2 - user does not have the privileges to upload the pictures
RetroSearch is an open source project built by @garambo | Open a GitHub Issue
Search and Browse the WWW like it's 1997 | Search results from DuckDuckGo
HTML:
3.2
| Encoding:
UTF-8
| Version:
0.7.4