PmWiki includes a script called upload.php that allows users to upload files to the wiki server using a web browser. Uploaded files (also called attachments) can then be easily accessed using markup within wiki pages. This page describes how to install and configure the upload feature.
Some notes about security
PmWiki takes a somewhat, but justifiable, paranoid stance when it comes to the uploads feature. Thus, the default settings for uploads tend to try to restrict the feature as much as possible:
- The upload function is disabled by default
- Even if you enable it, the function is password locked by default
- Even if you remove the password, you're restricted to uploading files with certain names, extensions, and sizes
- The characters that may appear in upload filenames are (default) alphanumerics, hyphen, underscore, dot, and space (see also here).
- The maximum upload size is small (50K by default)
This way the potential damage is limited until/unless the wiki administrator explicitly relaxes the restrictions.
Keep in mind that letting users (anonymously!) upload files to your web server does entail some amount of risk. The upload.php script has been designed to reduce the hazards, but wiki administrators should be aware that the potential for vulnerabilities exist, and that misconfiguration of the upload utility could lead to unwanted consequences.
By default, authorized users are able to overwrite files that have already been uploaded, without the possibility of restoring the previous version of the file. If you want to disallow users from being able to overwrite files that have already been uploaded, add the following line to config.php:
$EnableUploadOverwrite = 0;
Alternatively, an administrator can keep older versions of uploads.
An administrator can also configure PmWiki so the password mechanism controls access to uploaded files.
Basic installation
The upload.php script is automatically included from stdconfig.php if the $EnableUpload variable is true in config.php. In addition, config.php can set the $UploadDir and $UploadUrlFmt variables to specify the local directory where uploaded files should be stored, and the URL that can be used to access that directory. By default, $UploadDir and $UploadUrlFmt assume that uploads will be stored in a directory called uploads/ within the current directory (usually the one containing pmwiki.php). In addition, config.php should also set a default upload password (see PasswordsAdmin).
Thus, a basic config.php for uploads might look like:
<?php if (!defined('PmWiki')) exit(); ## Enable uploads and set a site-wide default upload password. $EnableUpload = 1; $UploadPermAdd = 0; $DefaultPasswords['upload'] = pmcrypt('secret');
If you have edit passwords and wish to allow all users with edit rights to upload, instead of $DefaultPasswords['upload'], you can set $HandleAuth['upload'] = 'edit';
in config.php.
Important: do NOT create the uploads directory yet! See the next paragraph.
You may also need to explicitly set which filesystem directory will hold uploads and provide a URL that corresponds to that directory like:
$UploadDir = "/home/foobar/public_html/uploads"; $UploadUrlFmt = "https://example.com/~foobar/uploads";
Note: In most installations, you don't need to define or change these variables, usually PmWiki can detect them (and if you do, uploads may simply not work).
Upload directory configuration
Uploads can be configured site-wide, by-group (default), or by-page by changing $UploadPrefixFmt in config.php
.
This determines whether all uploads go in one directory for the site, an individual directory for each group, or an individual directory for each page. The default is to organize upload by group.
It is recommended that the $UploadPrefixFmt variable defined in config.php is the same for all pages in the wiki, and not different in group or page local configuration files. Otherwise you will be unable to link to attachments in other wikigroups.
Single upload directory
For site-wide uploads, use
$UploadPrefixFmt = '';
Per page upload directories
To organize uploads by page, use:
$UploadPrefixFmt = '/$Group/$Name';
You may prefer uploads attached per-page rather than per-group or per-site if you plan to have many files attached to individual pages. This setting simplifies the management of picture galleries for example. (In a page, you can always link to attachments to other pages.)
The upload directory
For the upload feature to work properly, the directory given by $UploadDir must be writable by the web server process, and it usually must be in a location that is accessible to the web somewhere (e.g., in a subdirectory of public_html). Executing PmWiki with uploads enabled will prompt you with the set of steps required to create the uploads directory on your server (it differs from one server to the next). Note that in that case you may be required to explicitly create writable group- or page-specific subdirectories as well!
Uploading a file
Once the upload feature is enabled, users can access the upload form by adding "?action=upload
" to the end of a normal PmWiki URL. The user will be prompted for an upload password similar to the way other pages ask for passwords (see Passwords and PasswordsAdmin for information about setting passwords on pages, groups, and the entire site).
Another way to access the upload form is to insert the markup "Attach:filename.ext
" into an existing page, where filename.ext
is the name of a new file to be uploaded. When the page is displayed, a '?-link' will be added to the end of the markup to take the author to the upload page. (See Uploads for syntax variations.)
By default, PmWiki will organize the uploaded files into separate subdirectories for each group. This can be changed by modifying the $UploadPrefixFmt variable. See Cookbook:UploadGroups for details.
Versioning Uploaded Files
PmWiki does not manage versioning of uploaded files by default. However, by setting $EnableUploadVersions=1;
an administrator can have older versions of uploads preserved in the uploads directory along with the most recent version.
Upload restrictions
Restricting uploaded files for groups and pages
Uploads can be enabled only for specific groups or pages by using a group customization. Simply set $EnableUpload=1;
for those groups or pages where uploading is to be enabled; alternately, set $EnableUpload=1;
in the config.php file and then set $EnableUpload=0;
in the per-group or per-page customization files where uploads are to be disabled.
Restricting total upload size for a group or the whole wiki
Uploads can be restricted to an overall size limit for groups. In the group configuration file (i.e., local/Group.php), add the line
$UploadPrefixQuota = 1000000; # limit group uploads to 1000KB (1MB)
This will limit the total size of uploads for that group to 1000KB --any upload that pushes the total over the limit will be rejected with an error message. This value defaults to zero (unlimited).
Uploads can also be restricted to an overall size limit for all uploads. Add the line
$UploadDirQuota = 10000000; # limit total uploads to 10000KB (10MB)
This will limit the total size of uploads for the whole wiki to 10000KB --any upload that pushes the total over the limit will be rejected with an error message. This value defaults to zero (unlimited).
Restricting uploaded files type and size
The upload script performs a number of verifications on an uploaded file before storing it in the upload directory. The basic verifications are described below.
- filenames
- the name for the uploaded file can contain only letters, digits, underscores, hyphens, spaces, and periods, and the name must begin and end with a letter or digit.
- file extension
- only files with approved extensions such as "
.gif
", ".jpeg
", ".doc
", etc. are allowed to be uploaded to the web server. This is vitally important for server security, since the web server might attempt to execute or specially process files with extensions like ".php
", ".cgi
", etc. - file size
- By default all uploads are limited to 50K bytes, as specified by the $UploadMaxSize variable. Thus, to limit all uploads to 100KB, simply specify a new value for $UploadMaxSize in config.php:
$UploadMaxSize = 100000;
However, the default maximum file size can also be specified for each type of file uploaded. Thus, an administrator can restrict ".gif
" and ".jpeg
" files to 20K, ".doc
" files to 200K, and all others to the size given by $UploadMaxSize. The $UploadExtSize array is used to determine which file extensions are valid and the maximum upload size (in bytes) for each file type. For example:
$UploadExtSize['gif'] = 20000; # limit .gif files to 20KB
Disabling file upload by file type
Setting an entry to zero disables file uploads of that type altogether:
$UploadExtSize['zip'] = 0; # disallow .zip files $UploadExtSize[''] = 0; # disallow files with no extension
You can limit which types of files are uploadable by disabling all defaults and specifying only desired types. Setting the variable $UploadMaxSize to zero will disable all default file types. Individual file types may then be enabled by setting their maximum size with the variable $UploadExtSize.
# turns off all upload extensions $UploadMaxSize = 0; # enable only these file types for uploading $aSize=100000; // 100 KB file size limitation $UploadExtSize['jpg' ] = $aSize; $UploadExtSize['gif' ] = $aSize; $UploadExtSize['png' ] = $aSize;
Note: Files with multiple extensions
Some installations with the Apache server will try to execute a file which name contains ".php", ".pl" or ".cgi" even if it isn't the last part of the filename. For example, a file named "test.php.txt" may be executed. To disallow such files to be uploaded, add to config.php such a line:
$UploadBlacklist = array('.php', '.pl', '.cgi');
Adding new file types to permitted uploads
To add a new extension to the list of allowed upload types, add a line like the following to a local customization file:
$UploadExts['ext'] = 'content-type';
where ext is the extension to be added, and content-type is the "MIME type", or content-type (which you may find at IANA, Free Formatter, Apache mime types, or the internet media types) to be used for files with that extension. For example, to add the 'dxf
' extension with a Content-Type of 'image/x-dxf
', place the line
$UploadExts['dxf'] = 'image/x-dxf';
Each entry in $UploadExts needs to be the extension and the mime-type associated with that extension, thus:
$UploadExts = array( 'gif' => 'image/gif', 'jpeg' => 'image/jpeg', 'jpg' => 'image/jpeg', 'png' => 'image/png', 'xxx' => 'yyyy/zzz' );
For the types that PmWiki already knows about it's not necessary to repeat them here (the upload.php script adds PmWiki's defaults to whatever the administrator supplies). See also Cookbook:UploadTypes for additional types.
Other file size limits
There are other factors involved that affect upload file sizes. In Apache 2.4, there is a LimitRequestBody directive that controls the maximum size of anything that is posted (including file uploads). Apache has this defaulted to unlimited size. However, some Linux distributions (e.g., Red Hat Linux) limit postings to 512K so this may need to be changed or increased. (Normally these settings are in an httpd.conf configuration file or in a file in /etc/httpd/conf.d.)
Problem noted on Red Hat 8.0/9.0 with Apache 2.0.x, the error "Requested content-length of 670955 is larger than the configured limit of 524288" was occurring under Apache and a "Page not found" would appear in the browser. Trying the above settings made no change with PHP, but on Red Hat 8.0/9.0 there is an additional PHP config file, /etc/httpd/conf.d/php.conf, and increasing the number on the line "LimitRequestBody 524288" solves the issue.
PHP itself has two limits on file uploads (usually located in /etc/php.ini
). The first is the upload_max_filesize
parameter, which is set to 2MB by default. The second is post_max_size
, which is set to 6MB by default.
With the variables in place--PmWiki's maximum file size, Apache's request-size limits, and the PHP file size parameters, the maximum uploaded file size will be the smallest of the three variables.
Password protecting uploaded files
Setting a read password for pages (and groups) will prevent an attached file from being seen or accessed through the page, but to prevent direct access to the file location (the uploads/ directory) one can do the following:
- In local/config.php set
$EnableDirectDownload=0
; - If you use per-group upload directories (PmWiki default, see $UploadPrefixFmt), add to config.php
$EnableUploadGroupAuth = 1;
- Deny public access to the uploads/ directory through moving it out of the html/ or public_html/ directory tree, or through a .htaccess file.
See Cookbook:Secure attachments
Other notes
- If uploads doesn't seem to work, make sure that your PHP installation allows uploads. The php.ini file (usually /etc/php.ini or /usr/local/lib/php.ini) should have
file_uploads = On
- Another source of error in the php.ini file is a not defined upload_tmp_dir. Just set this variable to your temp directory, e.g.
upload_tmp_dir = /tmp
Note that if you change this values, httpd must generally be restarted. Another way to check if uploads are allowed by the server is to set $EnableDiag to 1 in config.php, and set ?action=phpinfo on a URL. The "file_uploads
" variable must have a value of 1 (if it says "no value
", that means it's off).
FAQ
How do I disable uploading of a certain type of file?
Here's an example of what to add to your local/config.php file to disable uploading of .zip files, or of files with no extension:
$UploadExtSize['zip'] = 0; # Disallow uploading .zip files $UploadExtSize[''] = 0; # Disallow files with no extension
How do I attach uploads to individual pages or the entire site, instead of organizing them by wiki group?
Use the $UploadPrefixFmt variable (see also the Cookbook:UploadGroups recipe).
$UploadPrefixFmt = '/$FullName'; # per-page, in Group.Name directories $UploadPrefixFmt = '/$Group/$Name'; # per-page, in Group directories with Name subdirectories $UploadPrefixFmt = ''; # site-wide
For $UploadDirQuota - can you provide some units and numbers? Is the specification in bytes or bits? What is the number for 100K? 1 Meg? 1 Gig? 1 Terabyte?
Units are in bytes.
$UploadDirQuota = 100*1024; # limit uploads to 100KiB $UploadDirQuota = 1000*1024; # limit uploads to 1000KiB $UploadDirQuota = 1024*1024; # limit uploads to 1MiB $UploadDirQuota = 25*1024*1024; # limit uploads to 25MiB $UploadDirQuota = 2*1024*1024*1024; # limit uploads to 2GiB
Is there a way to allow file names with Unicode or additional characters?
Yes, see $UploadNameChars
Where is the list of attachments stored?
It is generated on the fly by the
- Alcie_Maxwell.jpg ... 132,999 bytes ... February 01, 2018, at 11:36 AM
- Andrew_Harvie_Saunders.jpg ... 79,969 bytes ... December 30, 2009, at 06:56 AM
- Andriesberg_habitat_br.jpg ... 47,535 bytes ... January 21, 2017, at 06:33 PM
- Andriesberg_habitat_br2.jpg ... 71,221 bytes ... January 21, 2017, at 06:34 PM
- Andriesberg_habitat_br3.jpg ... 65,928 bytes ... January 21, 2017, at 06:34 PM
- Andriesberg_habitat_February_CM.jpg ... 52,455 bytes ... January 21, 2017, at 06:33 PM
- Andriesberg_habitat_January_cm.jpg ... 79,176 bytes ... January 21, 2017, at 06:33 PM
- Audrey_Gordon_IBSA.jpg ... 59,518 bytes ... November 08, 2005, at 08:38 PM
- Australia_climate.gif ... 399,043 bytes ... November 30, 2012, at 02:05 PM
- Australia_climate_small.gif ... 67,602 bytes ... January 23, 2016, at 05:29 PM
- Backyard_blooms_MGB.jpg ... 50,800 bytes ... December 12, 2011, at 09:55 PM
- base---Andriesberg_habitat_br.jpg ... 104,830 bytes ... January 10, 2017, at 03:50 PM
- base---Andriesberg_habitat_br2.jpg ... 168,830 bytes ... January 10, 2017, at 03:51 PM
- base---Andriesberg_habitat_br3.jpg ... 140,312 bytes ... January 10, 2017, at 04:07 PM
- base---Andriesberg_habitat_February_CM.jpg ... 54,940 bytes ... January 10, 2017, at 03:31 PM
- base---Andriesberg_habitat_January_cm.jpg ... 87,167 bytes ... January 10, 2017, at 03:30 PM
- base---Climate_goeppingen.jpg ... 68,025 bytes ... January 01, 2023, at 10:46 PM
- base---Contributors_Alan_Meerow.jpg ... 261,972 bytes ... February 12, 2013, at 08:09 AM
- base---Cotyledon_orbiculata_Andriesberg_br.jpg ... 254,700 bytes ... January 18, 2017, at 04:03 PM
- base---Elandsberg_flowers_1.jpg ... 348,133 bytes ... January 07, 2017, at 07:51 PM
- base---Elandsberg_flowers_2.jpg ... 247,468 bytes ... January 07, 2017, at 07:50 PM
- base---Elandsberg_flowers_3.jpg ... 466,385 bytes ... January 07, 2017, at 07:51 PM
- base---Elandsberg_jeep_track.jpg ... 465,872 bytes ... January 07, 2017, at 07:51 PM
- base---Elandsberg_panorama.jpg ... 167,211 bytes ... January 07, 2017, at 07:45 PM
- base---Euphorbia_clavarioides_Andriesberg_CM.jpg ... 243,407 bytes ... January 18, 2017, at 03:10 PM
- base---Ginormous_beetle_1_mm.jpg ... 281,097 bytes ... December 31, 2016, at 12:28 AM
- base---Going_Dormant_LAM.jpg ... 375,718 bytes ... April 22, 2013, at 11:41 AM
- base---Grasshopperus_biggus_mm.jpg ... 369,972 bytes ... December 31, 2016, at 12:13 AM
- base---Huernia_piersii_Andriesberg_CM.jpg ... 92,734 bytes ... January 10, 2017, at 03:47 PM
- base---Mountain_mm.jpg ... 265,108 bytes ... December 30, 2016, at 11:11 PM
- base---Organ_Mts_rainfall_English.jpg ... 146,647 bytes ... December 08, 2014, at 12:37 PM
- base---Organ_Mts_rainfall_metric.jpg ... 146,066 bytes ... December 08, 2014, at 12:38 PM
- base---Organ_Mts_temperature_English2.jpg ... 158,881 bytes ... December 08, 2014, at 12:40 PM
- base---Organ_Mts_temperature_metric.jpg ... 158,827 bytes ... December 08, 2014, at 12:37 PM
- base---Overbergcoast_mm.jpg ... 204,934 bytes ... December 30, 2016, at 10:48 PM
- base---Path_mm.jpg ... 303,515 bytes ... December 30, 2016, at 11:12 PM
- base---Phillipskop_mm.jpg ... 304,492 bytes ... December 30, 2016, at 11:11 PM
- base---Rod-Rachel_Silverhill.jpg ... 229,839 bytes ... September 25, 2022, at 12:20 PM
- base---ShlomitHeymann_garden1.jpg ... 738,205 bytes ... February 05, 2020, at 08:46 AM
- base---ShlomitHeymann_garden2.jpg ... 583,520 bytes ... February 05, 2020, at 08:46 AM
- base---ShlomitHeymann_garden3.jpg ... 407,287 bytes ... February 05, 2020, at 08:46 AM
- base---SJ_Allium_ursinum_mbt1.jpg ... 135,704 bytes ... November 18, 2020, at 11:48 AM
- base---SJ_Allium_ursinum_mbt2.jpg ... 134,533 bytes ... November 18, 2020, at 11:48 AM
- base---SJ_Anacamptis_pyramidalis_MBt01.jpg ... 131,636 bytes ... November 14, 2020, at 03:26 AM
- base---SJ_Anacamptis_pyramidalis_MBt02.jpg ... 165,113 bytes ... November 14, 2020, at 03:26 AM
- base---SJ_Anacamptis_pyramidalis_MBt03.jpg ... 326,898 bytes ... November 14, 2020, at 03:26 AM
- base---SJ_Anemone_nemorosa_mbt1.jpg ... 148,259 bytes ... November 16, 2020, at 11:57 AM
- base---SJ_Anemone_nemorosa_mbt2.jpg ... 315,671 bytes ... November 16, 2020, at 11:57 AM
- base---SJ_Anemone_ranuncoloides_mbt1.jpg ... 121,406 bytes ... November 16, 2020, at 11:57 AM
- base---SJ_Anthericum_ramosum_mbt1.jpg ... 154,862 bytes ... November 18, 2020, at 01:17 PM
- base---SJ_Anthericum_ramosum_mbt2.jpg ... 128,681 bytes ... November 18, 2020, at 01:19 PM
- base---SJ_Cephalanthera_damasonium_mbt1.jpg ... 141,542 bytes ... November 08, 2020, at 11:08 AM
- base---SJ_Cephalanthera_hyb_mbt1.jpg ... 147,724 bytes ... November 08, 2020, at 11:09 AM
- base---SJ_Colchicum_autumnale_mbt1.jpg ... 163,585 bytes ... November 18, 2020, at 12:05 PM
- base---SJ_Colchicum_autumnale_mbt2.jpg ... 164,177 bytes ... November 18, 2020, at 12:05 PM
- base---SJ_Covallaria_majalis_mbt1.jpg ... 156,774 bytes ... November 18, 2020, at 01:05 PM
- base---SJ_Covallaria_majalis_mbt2.jpg ... 126,009 bytes ... November 18, 2020, at 01:04 PM
- base---SJ_Epipactis_mbt1.jpg ... 164,599 bytes ... November 16, 2020, at 12:30 PM
- base---SJ_Fritillaria_meleagris_mbt1.jpg ... 143,591 bytes ... November 18, 2020, at 12:32 PM
- base---SJ_Fritillaria_meleagris_mbt2.jpg ... 199,679 bytes ... November 18, 2020, at 12:32 PM
- base---SJ_Gagea_lutea_mbt1.jpg ... 140,659 bytes ... November 18, 2020, at 12:25 PM
- base---SJ_Hepatica_mbt1.jpg ... 150,283 bytes ... November 16, 2020, at 12:12 PM
- base---SJ_Hepatica_mbt2.jpg ... 132,416 bytes ... November 16, 2020, at 12:12 PM
- base---SJ_Lathraea_squamaria_mbt1.jpg ... 218,289 bytes ... November 18, 2020, at 01:43 PM
- base---SJ_Lathraea_squamaria_mbt2.jpg ... 148,176 bytes ... November 18, 2020, at 01:43 PM
- base---SJ_Lathraea_squamaria_mbt3.jpg ... 154,399 bytes ... November 18, 2020, at 01:43 PM
- base---SJ_Lilium_martagon_mbt1.jpg ... 165,901 bytes ... November 18, 2020, at 12:48 PM
- base---SJ_Lilium_martagon_mbt2.jpg ... 125,502 bytes ... November 18, 2020, at 12:47 PM
- base---SJ_Lilium_martagon_mbt3.jpg ... 147,213 bytes ... November 18, 2020, at 12:46 PM
- base---SJ_Lilium_martagon_mbt4.jpg ... 262,482 bytes ... November 18, 2020, at 12:45 PM
- base---SJ_Lilium_martagon_mbt5.jpg ... 162,908 bytes ... November 18, 2020, at 12:44 PM
- base---SJ_Neottia_nidus-avis_mbt1.jpg ... 169,761 bytes ... November 08, 2020, at 01:56 PM
- base---SJ_Ophrys_unclear_mbt1.jpg ... 136,468 bytes ... November 14, 2020, at 03:46 AM
- base---SJ_Orchis_mascula_mbt1.jpg ... 134,793 bytes ... November 11, 2020, at 09:10 AM
- base---SJ_Orchis_militaris_mbt3.jpg ... 175,413 bytes ... November 11, 2020, at 09:18 AM
- base---SJ_Orchis_mult_mbt1.jpg ... 203,443 bytes ... November 11, 2020, at 09:13 AM
- base---SJ_paris_quadrifolia_mbt1.jpg ... 161,467 bytes ... November 18, 2020, at 01:56 PM
- base---SJ_paris_quadrifolia_mbt2.jpg ... 310,904 bytes ... November 18, 2020, at 01:55 PM
- base---SJ_paris_quadrifolia_mbt3.jpg ... 168,544 bytes ... November 18, 2020, at 01:54 PM
- base---SJ_paris_quadrifolia_mbt4.jpg ... 108,385 bytes ... November 18, 2020, at 01:53 PM
- base---SJ_Platanthera_MBt1.jpg ... 139,354 bytes ... November 14, 2020, at 04:31 AM
- base---SJ_Platanthera_MBt2.jpg ... 167,060 bytes ... November 14, 2020, at 04:32 AM
- base---SJ_Platanthera_MBt3.jpg ... 132,003 bytes ... November 14, 2020, at 04:33 AM
- base---SJ_Pulsatilla_mbt1.jpg ... 232,510 bytes ... November 16, 2020, at 12:17 PM
- base---SJ_Pulsatilla_mbt2.jpg ... 153,655 bytes ... November 16, 2020, at 12:17 PM
- base---South_mm.jpg ... 222,921 bytes ... December 30, 2016, at 11:11 PM
- base---SR_Himantoglossum_hircinum_mbt1.jpg ... 239,460 bytes ... November 08, 2020, at 01:38 PM
- base---Stapelia_grandiflora_Andriesberg_CM.jpg ... 220,241 bytes ... January 10, 2017, at 07:25 PM
- base---Summer_Storage_00_LAM.jpg ... 184,025 bytes ... April 22, 2013, at 11:41 AM
- base---SwabianJuraBHM_mbt1.jpg ... 101,840 bytes ... November 08, 2020, at 06:23 AM
- base---SwabianJuraLandscape_mbt1.jpg ... 189,176 bytes ... November 08, 2020, at 06:06 AM
- base---SwabianJuraLandscape_mbt2.jpg ... 191,891 bytes ... November 08, 2020, at 06:07 AM
- base---SwabianJuraLandscape_mbt3.jpg ... 117,035 bytes ... November 08, 2020, at 06:07 AM
- base---SwabianJuraSheep_mbt1.jpg ... 172,613 bytes ... November 08, 2020, at 06:11 AM
- base---SwabianJura_Atropa_mbt1.jpg ... 116,622 bytes ... November 08, 2020, at 08:22 AM
- base---SwabianJura_Gentiana_mbt1.jpg ... 209,337 bytes ... November 08, 2020, at 06:36 AM
- base---SwabianJura_Gentianella_mbt1.jpg ... 135,824 bytes ... November 08, 2020, at 06:33 AM
- base---SwabianJura_Melampyrum_mbt1.jpg ... 162,834 bytes ... November 08, 2020, at 08:12 AM
- base---SwabianJura_Orobanche_mbt1.jpg ... 152,130 bytes ... November 08, 2020, at 08:10 AM
- base---SwabianJura_Polygala_mbt1.jpg ... 155,151 bytes ... November 08, 2020, at 08:14 AM
- base---SwabianJura_saxifraga_mbt2.jpg ... 150,766 bytes ... November 08, 2020, at 08:19 AM
- base---SwabianJura_thistle_mbt1.jpg ... 174,378 bytes ... November 08, 2020, at 06:43 AM
- base---SwabianJura_thistle_mbt2.jpg ... 136,643 bytes ... November 08, 2020, at 06:43 AM
- base---SwabianJura_thistle_mbt3.jpg ... 175,218 bytes ... November 08, 2020, at 06:43 AM
- base---Uli-Garden.jpg ... 249,339 bytes ... January 23, 2022, at 04:22 PM
- base---Uli-Garden_b.jpg ... 155,891 bytes ... January 23, 2022, at 04:28 PM
- base---Winter_Garden_00_LAM.jpg ... 378,651 bytes ... April 22, 2013, at 11:41 AM
- Bulb_boxes_diamond_MGB.jpg ... 50,968 bytes ... December 12, 2011, at 09:56 PM
- C-Fchart.gif ... 13,321 bytes ... December 31, 2003, at 05:59 AM
- California_climate.gif ... 1,114,895 bytes ... December 02, 2012, at 11:50 PM
- California_climate_small.gif ... 90,575 bytes ... January 23, 2016, at 05:30 PM
- CarlaLowe.jpg ... 29,328 bytes ... November 08, 2005, at 08:38 PM
- CathyCraig-PhyllisFerguson.jpg ... 44,663 bytes ... November 08, 2005, at 08:38 PM
- CD.jpg ... 101,475 bytes ... April 18, 2011, at 12:20 AM
- Central_Asia_climate.gif ... 554,975 bytes ... November 30, 2012, at 02:05 PM
- Central_Asia_climate_small.gif ... 94,696 bytes ... January 24, 2016, at 10:14 AM
- CharlesHardman-HaroldKoopowitz.jpg ... 54,859 bytes ... November 08, 2005, at 08:37 PM
- CharlesHardman.jpg ... 22,223 bytes ... November 08, 2005, at 08:37 PM
- Chile_climate.gif ... 333,472 bytes ... November 30, 2012, at 02:03 PM
- Christian_Valdes-Ibarra_etal.pdf ... 8,880,685 bytes ... September 07, 2023, at 05:00 PM
- ChuckSchwartz.jpg ... 32,576 bytes ... November 08, 2005, at 08:38 PM
- Climate.svg ... 14,091 bytes ... July 22, 2012, at 06:51 PM
- Climate_goeppingen.jpg ... 50,191 bytes ... January 01, 2023, at 10:47 PM
- Climate_goeppingen.png ... 18,602 bytes ... January 24, 2021, at 08:34 AM
- Climate_graph_Santa_Barbara_MGB1.jpg ... 39,519 bytes ... July 20, 2012, at 08:52 PM
- Climate_graph_Santa_Barbara_MGB2.jpg ... 40,404 bytes ... July 20, 2012, at 08:53 PM
- Contributors_Alan_Meerow.jpg ... 63,326 bytes ... February 12, 2013, at 08:12 AM
- Cotyledon_orbiculata_Andriesberg_br.jpg ... 98,446 bytes ... January 21, 2017, at 06:35 PM
- Creative_commons.png ... 5,460 bytes ... November 15, 2011, at 10:22 AM
- David_Fenwick_Tunnel.jpg ... 89,858 bytes ... November 08, 2005, at 08:38 PM
- Doug_Westfall.jpg ... 70,542 bytes ... November 08, 2005, at 08:38 PM
- Drayton_view.jpg ... 75,027 bytes ... November 09, 2005, at 07:39 PM
- Elandsberg_flowers_1.jpg ... 92,446 bytes ... January 07, 2017, at 07:51 PM
- Elandsberg_flowers_2.jpg ... 65,882 bytes ... January 07, 2017, at 07:50 PM
- Elandsberg_flowers_3.jpg ... 126,139 bytes ... January 07, 2017, at 07:51 PM
- Elandsberg_jeep_track.jpg ... 88,426 bytes ... January 07, 2017, at 07:51 PM
- Elandsberg_panorama.jpg ... 20,475 bytes ... January 07, 2017, at 07:51 PM
- Emma_Desert-CP-72.jpg ... 85,245 bytes ... September 08, 2005, at 05:01 PM
- ErickLux.jpg ... 25,174 bytes ... November 08, 2005, at 08:38 PM
- Euphorbia_clavarioides_Andriesberg_CM.jpg ... 155,553 bytes ... January 21, 2017, at 06:34 PM
- Europe_climate.gif ... 822,237 bytes ... December 01, 2012, at 11:47 PM
- Europe_climate_small.gif ... 83,698 bytes ... January 23, 2016, at 05:32 PM
- Ginormous_beetle_1_mm.jpg ... 35,554 bytes ... December 31, 2016, at 12:34 AM
- Going_Dormant_LAM.jpg ... 56,443 bytes ... April 22, 2013, at 11:41 AM
- GordonS_BobW_c.jpg ... 65,862 bytes ... November 08, 2005, at 08:38 PM
- Grasshopperus_biggus_mm.jpg ... 72,734 bytes ... December 31, 2016, at 12:13 AM
- Griffiths_BulbsFromSeed.pdf ... 3,299,001 bytes ... February 20, 2013, at 07:05 PM
- Hammett.pdf ... 259,145 bytes ... May 09, 2012, at 05:53 AM
- HaroldKoopowitz.jpg ... 20,358 bytes ... November 08, 2005, at 08:39 PM
- HarryAndWife.jpg ... 45,804 bytes ... November 08, 2005, at 08:39 PM
- HarryYard1.jpg ... 61,044 bytes ... November 08, 2005, at 08:39 PM
- HarryYard2.jpg ... 57,389 bytes ... November 08, 2005, at 08:39 PM
- HarryYard3.jpg ... 74,566 bytes ... November 08, 2005, at 08:39 PM
- Hawaii_climate.gif ... 160,656 bytes ... December 02, 2012, at 10:41 PM
- Huernia_piersii_Andriesberg_CM.jpg ... 90,507 bytes ... January 21, 2017, at 06:34 PM
- Hydrastis_canadensis_publicdom1.jpg ... 56,435 bytes ... March 15, 2022, at 03:36 PM
- Image_not_available.jpg ... 22,029 bytes ... April 25, 2013, at 10:15 AM
- Jim_Duggan.jpg ... 28,724 bytes ... July 24, 2010, at 10:10 PM
- JohnHancock.jpg ... 36,369 bytes ... November 08, 2005, at 08:39 PM
- Kaiser_Pass_big_creek_waterfall_mm.jpg ... 83,778 bytes ... November 19, 2011, at 12:28 AM
- Kaiser_Pass_huntington_lake_road_mm.jpg ... 78,240 bytes ... November 19, 2011, at 12:30 AM
- Kaiser_Pass_side_road_mm.jpg ... 87,809 bytes ... November 19, 2011, at 12:29 AM
- KarenMuir.jpg ... 30,011 bytes ... November 08, 2005, at 08:39 PM
- Kathleen_Sayce.jpg ... 102,164 bytes ... April 01, 2010, at 11:51 AM
- Keukenhof_Janos_Agoston.jpg ... 89,105 bytes ... July 07, 2010, at 01:18 PM
- Keukenhof_Janos_Agoston2.jpg ... 88,452 bytes ... July 07, 2010, at 01:19 PM
- Lauw_AudreyIBSA.jpg ... 46,312 bytes ... November 08, 2005, at 08:39 PM
- Lee_Poulsen_Desert-CP-66.jpg ... 57,258 bytes ... November 08, 2005, at 08:39 PM
- LeonardScott.jpg ... 17,194 bytes ... November 08, 2005, at 08:39 PM
- Mariano_Saviello.jpg ... 56,449 bytes ... June 17, 2011, at 08:56 AM
- MartinBohnet.jpg ... 52,617 bytes ... December 20, 2015, at 04:06 AM
- MaryGerritsen.jpg ... 21,453 bytes ... January 03, 2008, at 07:25 AM
- Mashai_s.jpg ... 88,500 bytes ... April 18, 2008, at 06:55 AM
- McGary_bulbs_from_seed.pdf ... 107,703 bytes ... September 14, 2009, at 12:01 PM
- MGastil_Buhl.jpg ... 32,623 bytes ... December 12, 2011, at 09:56 PM
- MikeBrewer.jpg ... 29,793 bytes ... November 08, 2005, at 08:39 PM
- Mike_Mace_Bob_Werra_br.jpg ... 99,700 bytes ... September 22, 2011, at 09:43 AM
- Mountain_mm.jpg ... 57,569 bytes ... December 30, 2016, at 11:11 PM
- MSI_Grant_Announcement-NoDate.old.pdf ... 57,532 bytes ... December 16, 2022, at 02:07 PM
- MSI_Grant_Announcement-NoDate.pdf ... 58,622 bytes ... February 16, 2024, at 04:43 AM
- MSI_Grant_Announcement_2019.pdf ... 391,226 bytes ... January 29, 2019, at 12:11 PM
- MSI_Grant_Announcement_2020.pdf ... 277,573 bytes ... January 20, 2020, at 04:32 PM
- MSI_Grant_Announcement_2021.pdf ... 276,980 bytes ... February 28, 2021, at 05:13 PM
- MSI_Grant_Announcement_2023.pdf ... 55,973 bytes ... December 14, 2022, at 01:54 PM
- MV_complete_Oxalis_list.pdf ... 123,425 bytes ... September 15, 2009, at 02:34 PM
- Nhu_Nguyen.jpg ... 75,603 bytes ... June 17, 2011, at 09:49 AM
- OctagonInProcess.jpg ... 122,261 bytes ... August 29, 2022, at 11:06 AM
- Organ_Mts_rainfall_English.jpg ... 23,326 bytes ... December 08, 2014, at 04:49 PM
- Organ_Mts_rainfall_metric.jpg ... 23,151 bytes ... December 08, 2014, at 04:49 PM
- Organ_Mts_temperature_English2.jpg ... 24,862 bytes ... December 08, 2014, at 04:49 PM
- Organ_Mts_temperature_metric.jpg ... 24,697 bytes ... December 08, 2014, at 04:49 PM
- Overbergcoast_mm.jpg ... 21,184 bytes ... December 30, 2016, at 10:48 PM
- Pacific_Northwest_climate.gif ... 1,552,971 bytes ... November 30, 2012, at 02:04 PM
- Pacific_Northwest_climate_smaller.gif ... 90,967 bytes ... January 24, 2016, at 10:18 AM
- PatColville.jpg ... 31,802 bytes ... November 08, 2005, at 08:39 PM
- Path_mm.jpg ... 64,183 bytes ... December 30, 2016, at 11:12 PM
- PaulChapmanAndHarryHay.jpg ... 62,307 bytes ... November 08, 2005, at 09:21 PM
- Pbslogo1.png ... 21,104 bytes ... October 25, 2016, at 05:21 PM
- PBSmeeting2011_1NN.jpg ... 61,640 bytes ... September 21, 2011, at 10:36 PM
- PBSmeeting2011_2NN.jpg ... 102,324 bytes ... September 21, 2011, at 10:40 PM
- PBSmeeting2011_3NN.jpg ... 97,882 bytes ... September 21, 2011, at 10:41 PM
- PBSmeeting2011_4NN.jpg ... 92,029 bytes ... September 21, 2011, at 10:39 PM
- PBSmeeting2011_5NN.jpg ... 99,427 bytes ... September 21, 2011, at 10:35 PM
- PBSmeeting2011_6NN.jpg ... 102,354 bytes ... September 21, 2011, at 10:34 PM
- PBSmeeting2011_7chuckb.jpg ... 96,885 bytes ... September 22, 2011, at 11:03 AM
- PBSmeeting2011_8chuckb.jpg ... 80,423 bytes ... September 22, 2011, at 11:03 AM
- PBSmeeting2011_9chuckb.jpg ... 97,881 bytes ... September 22, 2011, at 11:03 AM
- PBSmeeting2011_10chuckb.jpg ... 82,645 bytes ... September 22, 2011, at 11:03 AM
- PBSmeeting2011_11chuckb.jpg ... 97,235 bytes ... September 22, 2011, at 11:03 AM
- PBSmeeting2011_12chuckb.jpg ... 95,854 bytes ... September 22, 2011, at 11:03 AM
- PBSmeeting2011_13chuckb.jpg ... 85,139 bytes ... September 22, 2011, at 11:03 AM
- PBSmeeting2011_14chuckb.jpg ... 89,430 bytes ... September 22, 2011, at 11:03 AM
- PBS_program_2012.pdf ... 328,580 bytes ... April 13, 2012, at 11:53 AM
- Phillipskop_mm.jpg ... 85,713 bytes ... December 30, 2016, at 11:11 PM
- Phillipskop_overview_mm.jpg ... 973,901 bytes ... December 31, 2016, at 03:34 PM
- Plant_shelves_MGB.jpg ... 52,929 bytes ... December 12, 2011, at 09:56 PM
- PoulsenGirls-Desert-DV.jpg ... 61,045 bytes ... November 08, 2005, at 08:06 PM
- RhodaCameronIBSA.jpg ... 31,548 bytes ... November 09, 2005, at 07:39 PM
- RobJamesAlex.jpg ... 77,292 bytes ... November 08, 2005, at 08:40 PM
- RobsHome.jpg ... 84,365 bytes ... November 08, 2005, at 08:40 PM
- Rod-Rachel_Silverhill.jpg ... 52,227 bytes ... September 25, 2022, at 12:20 PM
- Ron_heberle.jpg ... 11,868 bytes ... August 28, 2011, at 05:54 PM
- Ron_Parsons.jpg ... 55,875 bytes ... January 03, 2008, at 07:30 AM
- Scanned-bulbs1.jpg ... 62,729 bytes ... December 31, 2003, at 05:59 AM
- ShlomitHeymann_garden1.jpg ... 169,832 bytes ... February 05, 2020, at 08:46 AM
- ShlomitHeymann_garden2.jpg ... 139,055 bytes ... February 05, 2020, at 08:46 AM
- ShlomitHeymann_garden3.jpg ... 111,827 bytes ... February 05, 2020, at 08:46 AM
- SJ_Allium_ursinum_mbt1.jpg ... 66,013 bytes ... November 18, 2020, at 11:48 AM
- SJ_Allium_ursinum_mbt2.jpg ... 45,305 bytes ... November 18, 2020, at 11:48 AM
- SJ_Anacamptis_pyramidalis_MBt01.jpg ... 47,372 bytes ... November 14, 2020, at 03:26 AM
- SJ_Anacamptis_pyramidalis_MBt02.jpg ... 56,594 bytes ... November 14, 2020, at 03:26 AM
- SJ_Anacamptis_pyramidalis_MBt03.jpg ... 108,795 bytes ... November 14, 2020, at 03:26 AM
- SJ_Anemone_nemorosa_mbt1.jpg ... 75,666 bytes ... November 16, 2020, at 11:58 AM
- SJ_Anemone_nemorosa_mbt2.jpg ... 134,457 bytes ... November 16, 2020, at 11:58 AM
- SJ_Anemone_ranuncoloides_mbt1.jpg ... 33,407 bytes ... November 16, 2020, at 11:58 AM
- SJ_Anthericum_ramosum_mbt1.jpg ... 57,988 bytes ... November 18, 2020, at 01:19 PM
- SJ_Anthericum_ramosum_mbt2.jpg ... 34,005 bytes ... November 18, 2020, at 01:19 PM
- SJ_Cephalanthera_damasonium_mbt1.jpg ... 31,501 bytes ... November 08, 2020, at 11:09 AM
- SJ_Cephalanthera_hyb_mbt1.jpg ... 44,771 bytes ... November 08, 2020, at 11:09 AM
- SJ_Colchicum_autumnale_mbt1.jpg ... 79,471 bytes ... November 18, 2020, at 12:05 PM
- SJ_Colchicum_autumnale_mbt2.jpg ... 62,598 bytes ... November 18, 2020, at 12:05 PM
- SJ_Covallaria_majalis_mbt1.jpg ... 35,010 bytes ... November 18, 2020, at 01:05 PM
- SJ_Covallaria_majalis_mbt2.jpg ... 32,740 bytes ... November 18, 2020, at 01:05 PM
- SJ_Epipactis_mbt1.jpg ... 51,855 bytes ... November 16, 2020, at 12:30 PM
- SJ_Fritillaria_meleagris_mbt1.jpg ... 41,961 bytes ... November 18, 2020, at 12:32 PM
- SJ_Fritillaria_meleagris_mbt2.jpg ... 77,446 bytes ... November 18, 2020, at 12:32 PM
- SJ_Gagea_lutea_mbt1.jpg ... 45,683 bytes ... November 18, 2020, at 12:32 PM
- SJ_Hepatica_mbt1.jpg ... 62,627 bytes ... November 16, 2020, at 12:12 PM
- SJ_Hepatica_mbt2.jpg ... 45,588 bytes ... November 16, 2020, at 12:12 PM
- SJ_Lathraea_squamaria_mbt1.jpg ... 81,415 bytes ... November 18, 2020, at 01:43 PM
- SJ_Lathraea_squamaria_mbt2.jpg ... 37,016 bytes ... November 18, 2020, at 01:43 PM
- SJ_Lathraea_squamaria_mbt3.jpg ... 40,689 bytes ... November 18, 2020, at 01:43 PM
- SJ_Lilium_martagon_mbt1.jpg ... 50,345 bytes ... November 18, 2020, at 12:48 PM
- SJ_Lilium_martagon_mbt2.jpg ... 41,299 bytes ... November 18, 2020, at 12:48 PM
- SJ_Lilium_martagon_mbt3.jpg ... 47,089 bytes ... November 18, 2020, at 12:48 PM
- SJ_Lilium_martagon_mbt4.jpg ... 118,480 bytes ... November 18, 2020, at 12:48 PM
- SJ_Lilium_martagon_mbt5.jpg ... 49,590 bytes ... November 18, 2020, at 12:48 PM
- SJ_Neottia_nidus-avis_mbt1.jpg ... 103,176 bytes ... November 08, 2020, at 01:56 PM
- SJ_Ophrys_unclear_mbt1.jpg ... 49,216 bytes ... November 14, 2020, at 03:46 AM
- SJ_Orchis_mascula_mbt1.jpg ... 47,264 bytes ... November 11, 2020, at 09:12 AM
- SJ_Orchis_militaris_mbt3.jpg ... 43,082 bytes ... November 11, 2020, at 09:18 AM
- SJ_Orchis_mult_mbt1.jpg ... 110,710 bytes ... November 11, 2020, at 09:13 AM
- SJ_paris_quadrifolia_mbt1.jpg ... 75,165 bytes ... November 18, 2020, at 01:56 PM
- SJ_paris_quadrifolia_mbt2.jpg ... 34,016 bytes ... November 18, 2020, at 01:56 PM
- SJ_paris_quadrifolia_mbt3.jpg ... 67,641 bytes ... November 18, 2020, at 01:56 PM
- SJ_paris_quadrifolia_mbt4.jpg ... 37,298 bytes ... November 18, 2020, at 01:56 PM
- SJ_Platanthera_MBt1.jpg ... 33,476 bytes ... November 14, 2020, at 04:33 AM
- SJ_Platanthera_MBt2.jpg ... 52,580 bytes ... November 14, 2020, at 04:33 AM
- SJ_Platanthera_MBt3.jpg ... 40,348 bytes ... November 14, 2020, at 04:33 AM
- SJ_Pulsatilla_mbt1.jpg ... 120,198 bytes ... November 16, 2020, at 12:18 PM
- SJ_Pulsatilla_mbt2.jpg ... 45,440 bytes ... November 16, 2020, at 12:18 PM
- South_Africa_climate.gif ... 465,744 bytes ... November 30, 2012, at 02:03 PM
- South_Africa_climate_small.gif ... 94,128 bytes ... January 24, 2016, at 10:07 AM
- South_mm.jpg ... 65,464 bytes ... December 30, 2016, at 11:11 PM
- SR_Himantoglossum_hircinum_mbt1.jpg ... 105,788 bytes ... November 08, 2020, at 01:38 PM
- Ssp_toolbar.jpg ... 14,018 bytes ... February 17, 2020, at 01:50 AM
- Stapelia_grandiflora_Andriesberg_CM.jpg ... 140,889 bytes ... January 21, 2017, at 06:35 PM
- SteveHampson.jpg ... 25,232 bytes ... November 08, 2005, at 08:40 PM
- Summerfield_bulbs3.jpg ... 94,487 bytes ... February 25, 2009, at 04:20 PM
- Summerfield_bulbs4.jpg ... 101,617 bytes ... November 08, 2005, at 09:37 PM
- Summerfield_seeds.jpg ... 82,142 bytes ... November 08, 2005, at 09:37 PM
- Summer_Storage_00_LAM.jpg ... 34,621 bytes ... April 22, 2013, at 11:41 AM
- SusanMulqueen.jpg ... 17,804 bytes ... November 08, 2005, at 08:40 PM
- SwabianJuraBHM_mbt1.jpg ... 36,216 bytes ... November 08, 2020, at 06:24 AM
- SwabianJuraLandscape_mbt1.jpg ... 43,979 bytes ... November 08, 2020, at 06:07 AM
- SwabianJuraLandscape_mbt2.jpg ... 84,283 bytes ... November 08, 2020, at 06:07 AM
- SwabianJuraLandscape_mbt3.jpg ... 45,696 bytes ... November 08, 2020, at 06:07 AM
- SwabianJuraSheep_mbt1.jpg ... 79,215 bytes ... November 08, 2020, at 06:11 AM
- SwabianJura_Atropa_mbt1.jpg ... 40,436 bytes ... November 08, 2020, at 08:23 AM
- SwabianJura_Gentiana_mbt1.jpg ... 140,257 bytes ... November 08, 2020, at 06:43 AM
- SwabianJura_Gentianella_mbt1.jpg ... 35,061 bytes ... November 08, 2020, at 06:36 AM
- SwabianJura_Melampyrum_mbt1.jpg ... 49,868 bytes ... November 08, 2020, at 08:14 AM
- SwabianJura_Orobanche_mbt1.jpg ... 46,162 bytes ... November 08, 2020, at 08:12 AM
- SwabianJura_Polygala_mbt1.jpg ... 56,257 bytes ... November 08, 2020, at 08:19 AM
- SwabianJura_saxifraga_mbt2.jpg ... 59,109 bytes ... November 08, 2020, at 08:21 AM
- SwabianJura_thistle_mbt1.jpg ... 87,272 bytes ... November 08, 2020, at 06:43 AM
- SwabianJura_thistle_mbt2.jpg ... 64,599 bytes ... November 08, 2020, at 06:43 AM
- SwabianJura_thistle_mbt3.jpg ... 53,374 bytes ... November 08, 2020, at 06:43 AM
- th00---Andrew_Harvie_Saunders.jpg.jpg ... 6,518 bytes ... December 30, 2009, at 06:59 AM
- th00---Andriesberg_habitat_br.jpg.jpg ... 2,863 bytes ... January 21, 2017, at 06:33 PM
- th00---Andriesberg_habitat_br2.jpg.jpg ... 3,927 bytes ... January 21, 2017, at 06:34 PM
- th00---Andriesberg_habitat_br3.jpg.jpg ... 3,916 bytes ... January 21, 2017, at 06:34 PM
- th00---Andriesberg_habitat_February_CM.jpg.jpg ... 2,874 bytes ... January 21, 2017, at 06:33 PM
- th00---Andriesberg_habitat_January_cm.jpg.jpg ... 4,056 bytes ... January 21, 2017, at 06:33 PM
- th00---Audrey_Gordon_IBSA.jpg.jpg ... 4,481 bytes ... February 23, 2009, at 09:29 PM
- th00---Backyard_blooms_MGB.jpg.jpg ... 6,730 bytes ... December 12, 2011, at 09:56 PM
- th00---Bulb_boxes_diamond_MGB.jpg.jpg ... 6,032 bytes ... December 12, 2011, at 09:57 PM
- th00---C-Fchart.gif.jpg ... 2,757 bytes ... February 22, 2009, at 07:40 PM
- th00---CarlaLowe.jpg.jpg ... 4,530 bytes ... February 22, 2009, at 11:30 PM
- th00---CathyCraig-PhyllisFerguson.jpg.jpg ... 4,477 bytes ... February 22, 2009, at 11:30 PM
- th00---CharlesHardman-HaroldKoopowitz.jpg.jpg ... 5,060 bytes ... February 22, 2009, at 11:30 PM
- th00---CharlesHardman.jpg.jpg ... 3,471 bytes ... February 22, 2009, at 11:30 PM
- th00---ChuckSchwartz.jpg.jpg ... 5,049 bytes ... February 22, 2009, at 11:30 PM
- th00---Climate_goeppingen.jpg.jpg ... 4,471 bytes ... January 01, 2023, at 10:47 PM
- th00---Climate_goeppingen.png.jpg ... 4,124 bytes ... January 24, 2021, at 08:34 AM
- th00---Climate_graph_Santa_Barbara_MGB1.jpg.jpg ... 4,009 bytes ... July 20, 2012, at 08:57 PM
- th00---Climate_graph_Santa_Barbara_MGB2.jpg.jpg ... 4,123 bytes ... July 20, 2012, at 08:57 PM
- th00---Climate_key.gif.jpg ... 5,085 bytes ... June 10, 2010, at 11:57 PM
- th00---Contributors_Alan_Meerow.jpg.jpg ... 5,371 bytes ... February 12, 2013, at 08:12 AM
- th00---Cotyledon_orbiculata_Andriesberg_br.jpg.jpg ... 5,741 bytes ... January 21, 2017, at 06:35 PM
- th00---David_Fenwick_Tunnel.jpg.jpg ... 5,371 bytes ... February 23, 2009, at 10:33 AM
- th00---Doug_Westfall.jpg.jpg ... 4,803 bytes ... June 14, 2009, at 02:27 AM
- th00---Drayton_view.jpg.jpg ... 4,127 bytes ... February 22, 2009, at 11:00 AM
- th00---Elandsberg_flowers_1.jpg.jpg ... 4,090 bytes ... January 07, 2017, at 07:51 PM
- th00---Elandsberg_flowers_2.jpg.jpg ... 3,264 bytes ... January 07, 2017, at 07:50 PM
- th00---Elandsberg_flowers_3.jpg.jpg ... 5,234 bytes ... January 07, 2017, at 07:51 PM
- th00---Elandsberg_jeep_track.jpg.jpg ... 4,299 bytes ... January 07, 2017, at 07:51 PM
- th00---Elandsberg_panorama.jpg.jpg ... 3,207 bytes ... January 07, 2017, at 07:51 PM
- th00---Emma_Desert-CP-72.jpg.jpg ... 6,031 bytes ... February 23, 2009, at 06:04 AM
- th00---ErickLux.jpg.jpg ... 3,911 bytes ... February 22, 2009, at 11:30 PM
- th00---Euphorbia_clavarioides_Andriesberg_CM.jpg.jpg ... 6,342 bytes ... January 21, 2017, at 06:34 PM
- th00---Ginormous_beetle_1_mm.jpg.jpg ... 3,712 bytes ... December 31, 2016, at 12:34 AM
- th00---Going_Dormant_LAM.jpg.jpg ... 4,739 bytes ... April 22, 2013, at 11:41 AM
- th00---GordonS_BobW_c.jpg.jpg ... 4,650 bytes ... February 23, 2009, at 09:29 PM
- th00---Grasshopperus_biggus_mm.jpg.jpg ... 4,767 bytes ... December 31, 2016, at 12:13 AM
- th00---HaroldKoopowitz.jpg.jpg ... 4,127 bytes ... February 22, 2009, at 11:30 PM
- th00---HarryAndWife.jpg.jpg ... 4,672 bytes ... February 22, 2009, at 10:44 PM
- th00---HarryYard1.jpg.jpg ... 5,007 bytes ... February 22, 2009, at 10:44 PM
- th00---HarryYard2.jpg.jpg ... 4,964 bytes ... February 22, 2009, at 10:44 PM
- th00---HarryYard3.jpg.jpg ... 5,992 bytes ... February 22, 2009, at 10:44 PM
- th00---Huernia_piersii_Andriesberg_CM.jpg.jpg ... 5,632 bytes ... January 21, 2017, at 06:34 PM
- th00---Hydrastis_canadensis_publicdom1.jpg.jpg ... 5,350 bytes ... March 15, 2022, at 03:36 PM
- th00---Image_not_aavailable.jpg.jpg ... 29,580 bytes ... September 15, 2023, at 11:46 AM
- th00---Image_not_available.jpg.jpg ... 28,947 bytes ... May 01, 2013, at 10:39 AM
- th00---JohnHancock.jpg.jpg ... 4,569 bytes ... February 22, 2009, at 11:30 PM
- th00---Kaiser_Pass_big_creek_waterfall_mm.jpg.jpg ... 5,209 bytes ... November 19, 2011, at 12:29 AM
- th00---Kaiser_Pass_huntington_lake_road_mm.jpg.jpg ... 3,049 bytes ... November 19, 2011, at 12:30 AM
- th00---Kaiser_Pass_side_road_mm.jpg.jpg ... 4,918 bytes ... November 19, 2011, at 12:29 AM
- th00---KarenMuir.jpg.jpg ... 4,158 bytes ... February 22, 2009, at 11:30 PM
- th00---Keukenhof_Janos_Agoston.jpg.jpg ... 5,608 bytes ... July 09, 2010, at 07:50 AM
- th00---Keukenhof_Janos_Agoston2.jpg.jpg ... 6,089 bytes ... July 09, 2010, at 07:50 AM
- th00---Lauw_AudreyIBSA.jpg.jpg ... 3,229 bytes ... February 22, 2009, at 05:49 PM
- th00---Lee_Poulsen_Desert-CP-66.jpg.jpg ... 4,274 bytes ... February 23, 2009, at 06:04 AM
- th00---LeonardScott.jpg.jpg ... 3,072 bytes ... February 22, 2009, at 11:30 PM
- th00---MaryGerritsen.jpg.jpg ... 5,491 bytes ... February 22, 2009, at 05:50 PM
- th00---Mashai_s.jpg.jpg ... 4,837 bytes ... February 22, 2009, at 11:00 AM
- th00---MGastil_Buhl.jpg.jpg ... 4,094 bytes ... December 12, 2011, at 09:57 PM
- th00---MikeBrewer.jpg.jpg ... 4,304 bytes ... February 22, 2009, at 11:30 PM
- th00---Mike_Mace_Bob_Werra_br.jpg.jpg ... 5,416 bytes ... September 22, 2011, at 09:47 AM
- th00---Mountain_mm.jpg.jpg ... 4,750 bytes ... January 23, 2019, at 04:46 PM
- th00---Nhu_Nguyen.jpg.jpg ... 5,969 bytes ... October 05, 2011, at 08:24 AM
- th00---OctagonInProcess.jpg.jpg ... 6,503 bytes ... August 29, 2022, at 11:07 AM
- th00---Organ_Mts_rainfall_English.jpg.jpg ... 2,878 bytes ... December 08, 2014, at 04:49 PM
- th00---Organ_Mts_rainfall_metric.jpg.jpg ... 2,862 bytes ... December 08, 2014, at 04:49 PM
- th00---Organ_Mts_temperature_English2.jpg.jpg ... 2,948 bytes ... December 08, 2014, at 04:49 PM
- th00---Organ_Mts_temperature_metric.jpg.jpg ... 2,905 bytes ... December 08, 2014, at 04:49 PM
- th00---PatColville.jpg.jpg ... 4,182 bytes ... February 22, 2009, at 11:30 PM
- th00---Path_mm.jpg.jpg ... 4,516 bytes ... January 23, 2019, at 04:46 PM
- th00---PaulChapmanAndHarryHay.jpg.jpg ... 5,703 bytes ... February 22, 2009, at 10:44 PM
- th00---PBSmeeting2011_1NN.jpg.jpg ... 2,824 bytes ... September 21, 2011, at 11:06 PM
- th00---PBSmeeting2011_2NN.jpg.jpg ... 6,293 bytes ... September 21, 2011, at 11:06 PM
- th00---PBSmeeting2011_3NN.jpg.jpg ... 5,948 bytes ... September 21, 2011, at 11:06 PM
- th00---PBSmeeting2011_4NN.jpg.jpg ... 5,530 bytes ... September 21, 2011, at 11:06 PM
- th00---PBSmeeting2011_5NN.jpg.jpg ... 5,713 bytes ... September 21, 2011, at 11:06 PM
- th00---PBSmeeting2011_6NN.jpg.jpg ... 6,640 bytes ... September 21, 2011, at 11:06 PM
- th00---PBSmeeting2011_7chuckb.jpg.jpg ... 6,096 bytes ... September 22, 2011, at 11:04 AM
- th00---PBSmeeting2011_8chuckb.jpg.jpg ... 5,886 bytes ... September 22, 2011, at 11:04 AM
- th00---PBSmeeting2011_9chuckb.jpg.jpg ... 6,098 bytes ... September 22, 2011, at 11:04 AM
- th00---PBSmeeting2011_10chuckb.jpg.jpg ... 6,042 bytes ... September 22, 2011, at 11:04 AM
- th00---PBSmeeting2011_11chuckb.jpg.jpg ... 5,372 bytes ... September 22, 2011, at 11:04 AM
- th00---PBSmeeting2011_12chuckb.jpg.jpg ... 5,850 bytes ... September 22, 2011, at 11:04 AM
- th00---PBSmeeting2011_13chuckb.jpg.jpg ... 5,906 bytes ... September 22, 2011, at 11:04 AM
- th00---PBSmeeting2011_14chuckb.jpg.jpg ... 5,896 bytes ... September 22, 2011, at 11:04 AM
- th00---Phillipskop_mm.jpg.jpg ... 4,152 bytes ... January 23, 2019, at 04:46 PM
- th00---Phillipskop_overview_mm.jpg.jpg ... 3,765 bytes ... January 23, 2019, at 04:46 PM
- th00---Plant_shelves_MGB.jpg.jpg ... 5,619 bytes ... December 12, 2011, at 09:57 PM
- th00---PoulsenGirls-Desert-DV.jpg.jpg ... 4,793 bytes ... February 23, 2009, at 06:04 AM
- th00---RhodaCameronIBSA.jpg.jpg ... 4,648 bytes ... June 14, 2009, at 02:13 AM
- th00---RobJamesAlex.jpg.jpg ... 6,102 bytes ... February 22, 2009, at 11:29 AM
- th00---RobsHome.jpg.jpg ... 4,737 bytes ... February 22, 2009, at 11:29 AM
- th00---Rod-Rachel_Silverhill.jpg.jpg ... 4,432 bytes ... September 25, 2022, at 12:20 PM
- th00---Ron_heberle.jpg.jpg ... 3,919 bytes ... August 28, 2011, at 05:56 PM
- th00---Ron_Parsons.jpg.jpg ... 4,745 bytes ... February 22, 2009, at 05:50 PM
- th00---Scanned-bulbs1.jpg.jpg ... 5,752 bytes ... December 30, 2009, at 11:38 AM
- th00---ShlomitHeymann_garden1.jpg.jpg ... 6,172 bytes ... February 05, 2020, at 08:46 AM
- th00---ShlomitHeymann_garden2.jpg.jpg ... 5,819 bytes ... February 05, 2020, at 08:46 AM
- th00---ShlomitHeymann_garden3.jpg.jpg ... 5,450 bytes ... February 05, 2020, at 08:46 AM
- th00---SJ_Allium_ursinum_mbt1.jpg.jpg ... 4,627 bytes ... November 18, 2020, at 11:48 AM
- th00---SJ_Allium_ursinum_mbt2.jpg.jpg ... 4,440 bytes ... November 18, 2020, at 11:48 AM
- th00---SJ_Anacamptis_pyramidalis_MBt01.jpg.jpg ... 4,669 bytes ... November 14, 2020, at 03:26 AM
- th00---SJ_Anacamptis_pyramidalis_MBt02.jpg.jpg ... 5,153 bytes ... November 14, 2020, at 03:26 AM
- th00---SJ_Anacamptis_pyramidalis_MBt03.jpg.jpg ... 6,696 bytes ... November 14, 2020, at 03:26 AM
- th00---SJ_Anemone_nemorosa_mbt1.jpg.jpg ... 5,056 bytes ... November 16, 2020, at 11:58 AM
- th00---SJ_Anemone_nemorosa_mbt2.jpg.jpg ... 5,784 bytes ... November 16, 2020, at 11:58 AM
- th00---SJ_Anemone_ranuncoloides_mbt1.jpg.jpg ... 3,642 bytes ... November 16, 2020, at 11:58 AM
- th00---SJ_Anthericum_ramosum_mbt1.jpg.jpg ... 5,157 bytes ... November 18, 2020, at 01:19 PM
- th00---SJ_Anthericum_ramosum_mbt2.jpg.jpg ... 3,302 bytes ... November 18, 2020, at 01:19 PM
- th00---SJ_Cephalanthera_damasonium_mbt1.jpg.jpg ... 3,601 bytes ... November 08, 2020, at 11:09 AM
- th00---SJ_Cephalanthera_hyb_mbt1.jpg.jpg ... 4,496 bytes ... November 08, 2020, at 11:09 AM
- th00---SJ_Colchicum_autumnale_mbt1.jpg.jpg ... 5,832 bytes ... November 18, 2020, at 12:05 PM
- th00---SJ_Colchicum_autumnale_mbt2.jpg.jpg ... 5,575 bytes ... November 18, 2020, at 12:05 PM
- th00---SJ_Covallaria_majalis_mbt1.jpg.jpg ... 3,828 bytes ... November 18, 2020, at 01:05 PM
- th00---SJ_Covallaria_majalis_mbt2.jpg.jpg ... 3,470 bytes ... November 18, 2020, at 01:05 PM
- th00---SJ_Epipactis_mbt1.jpg.jpg ... 4,918 bytes ... November 16, 2020, at 12:30 PM
- th00---SJ_Fritillaria_meleagris_mbt1.jpg.jpg ... 4,115 bytes ... November 18, 2020, at 12:32 PM
- th00---SJ_Fritillaria_meleagris_mbt2.jpg.jpg ... 5,232 bytes ... November 18, 2020, at 12:32 PM
- th00---SJ_Gagea_lutea_mbt1.jpg.jpg ... 4,875 bytes ... November 18, 2020, at 12:32 PM
- th00---SJ_Hepatica_mbt1.jpg.jpg ... 5,253 bytes ... November 16, 2020, at 12:12 PM
- th00---SJ_Hepatica_mbt2.jpg.jpg ... 4,786 bytes ... November 16, 2020, at 12:12 PM
- th00---SJ_Lathraea_squamaria_mbt1.jpg.jpg ... 6,057 bytes ... November 18, 2020, at 01:43 PM
- th00---SJ_Lathraea_squamaria_mbt2.jpg.jpg ... 4,312 bytes ... November 18, 2020, at 01:43 PM
- th00---SJ_Lathraea_squamaria_mbt3.jpg.jpg ... 3,581 bytes ... November 18, 2020, at 01:43 PM
- th00---SJ_Lilium_martagon_mbt1.jpg.jpg ... 5,071 bytes ... November 18, 2020, at 12:48 PM
- th00---SJ_Lilium_martagon_mbt2.jpg.jpg ... 3,725 bytes ... November 18, 2020, at 12:48 PM
- th00---SJ_Lilium_martagon_mbt3.jpg.jpg ... 5,010 bytes ... November 18, 2020, at 12:48 PM
- th00---SJ_Lilium_martagon_mbt4.jpg.jpg ... 6,099 bytes ... November 18, 2020, at 12:48 PM
- th00---SJ_Lilium_martagon_mbt5.jpg.jpg ... 4,705 bytes ... November 18, 2020, at 12:48 PM
- th00---SJ_Neottia_nidus-avis_mbt1.jpg.jpg ... 6,605 bytes ... November 08, 2020, at 01:56 PM
- th00---SJ_Ophrys_unclear_mbt1.jpg.jpg ... 4,590 bytes ... November 14, 2020, at 03:46 AM
- th00---SJ_Orchis_mascula_mbt1.jpg.jpg ... 4,720 bytes ... November 11, 2020, at 09:12 AM
- th00---SJ_Orchis_militaris_mbt3.jpg.jpg ... 4,464 bytes ... November 11, 2020, at 09:18 AM
- th00---SJ_Orchis_mult_mbt1.jpg.jpg ... 5,932 bytes ... November 11, 2020, at 09:13 AM
- th00---SJ_paris_quadrifolia_mbt1.jpg.jpg ... 4,915 bytes ... November 18, 2020, at 01:56 PM
- th00---SJ_paris_quadrifolia_mbt2.jpg.jpg ... 3,563 bytes ... November 18, 2020, at 01:56 PM
- th00---SJ_paris_quadrifolia_mbt3.jpg.jpg ... 4,407 bytes ... November 18, 2020, at 01:56 PM
- th00---SJ_paris_quadrifolia_mbt4.jpg.jpg ... 3,563 bytes ... November 18, 2020, at 01:56 PM
- th00---SJ_Platanthera_MBt1.jpg.jpg ... 3,514 bytes ... November 14, 2020, at 04:33 AM
- th00---SJ_Platanthera_MBt2.jpg.jpg ... 4,975 bytes ... November 14, 2020, at 04:33 AM
- th00---SJ_Platanthera_MBt3.jpg.jpg ... 3,629 bytes ... November 14, 2020, at 04:33 AM
- th00---SJ_Pulsatilla_mbt1.jpg.jpg ... 6,557 bytes ... November 16, 2020, at 12:18 PM
- th00---SJ_Pulsatilla_mbt2.jpg.jpg ... 4,042 bytes ... November 16, 2020, at 12:18 PM
- th00---South_mm.jpg.jpg ... 3,599 bytes ... January 23, 2019, at 04:46 PM
- th00---SR_Himantoglossum_hircinum_mbt1.jpg.jpg ... 6,438 bytes ... November 08, 2020, at 01:38 PM
- th00---Stapelia_grandiflora_Andriesberg_CM.jpg.jpg ... 6,292 bytes ... January 21, 2017, at 06:35 PM
- th00---SteveHampson.jpg.jpg ... 3,336 bytes ... February 22, 2009, at 11:30 PM
- th00---Summerfield_bulbs3.jpg.jpg ... 6,420 bytes ... March 02, 2009, at 02:17 PM
- th00---Summerfield_bulbs4.jpg.jpg ... 6,155 bytes ... February 24, 2009, at 10:24 AM
- th00---Summerfield_seeds.jpg.jpg ... 5,847 bytes ... February 24, 2009, at 10:24 AM
- th00---Summer_Storage_00_LAM.jpg.jpg ... 3,736 bytes ... April 22, 2013, at 11:41 AM
- th00---SusanMulqueen.jpg.jpg ... 3,347 bytes ... February 22, 2009, at 11:30 PM
- th00---SwabianJuraBHM_mbt1.jpg.jpg ... 3,468 bytes ... November 08, 2020, at 06:24 AM
- th00---SwabianJuraLandscape_mbt1.jpg.jpg ... 3,957 bytes ... November 08, 2020, at 06:07 AM
- th00---SwabianJuraLandscape_mbt2.jpg.jpg ... 4,097 bytes ... November 08, 2020, at 06:07 AM
- th00---SwabianJuraLandscape_mbt3.jpg.jpg ... 3,392 bytes ... November 08, 2020, at 06:07 AM
- th00---SwabianJuraSheep_mbt1.jpg.jpg ... 4,089 bytes ... November 08, 2020, at 06:11 AM
- th00---SwabianJura_Atropa_mbt1.jpg.jpg ... 3,574 bytes ... November 08, 2020, at 08:23 AM
- th00---SwabianJura_Gentiana_mbt1.jpg.jpg ... 7,338 bytes ... November 08, 2020, at 06:43 AM
- th00---SwabianJura_Gentianella_mbt1.jpg.jpg ... 3,639 bytes ... November 08, 2020, at 06:36 AM
- th00---SwabianJura_Melampyrum_mbt1.jpg.jpg ... 4,708 bytes ... November 08, 2020, at 08:14 AM
- th00---SwabianJura_Orobanche_mbt1.jpg.jpg ... 4,742 bytes ... November 08, 2020, at 08:12 AM
- th00---SwabianJura_Polygala_mbt1.jpg.jpg ... 5,173 bytes ... November 08, 2020, at 08:19 AM
- th00---SwabianJura_saxifraga_mbt2.jpg.jpg ... 5,531 bytes ... November 08, 2020, at 08:21 AM
- th00---SwabianJura_thistle_mbt1.jpg.jpg ... 6,209 bytes ... November 08, 2020, at 06:43 AM
- th00---SwabianJura_thistle_mbt2.jpg.jpg ... 4,906 bytes ... November 08, 2020, at 06:43 AM
- th00---SwabianJura_thistle_mbt3.jpg.jpg ... 4,874 bytes ... November 08, 2020, at 06:43 AM
- th00---TomGlavich.jpg.jpg ... 3,941 bytes ... February 22, 2009, at 11:30 PM
- th00---Tom_Mitchell_TCM.jpg.jpg ... 6,069 bytes ... August 28, 2011, at 02:41 PM
- th00---UCBG_SA_section1.jpg.jpg ... 5,142 bytes ... February 23, 2009, at 01:20 PM
- th00---UCBG_SA_section2.jpg.jpg ... 5,307 bytes ... February 23, 2009, at 01:20 PM
- th00---Uli-Garden.jpg.jpg ... 5,794 bytes ... January 23, 2022, at 04:26 PM
- th00---Uli-Garden_b.jpg.jpg ... 6,089 bytes ... January 23, 2022, at 04:30 PM
- th00---Winter_Garden_00_LAM.jpg.jpg ... 5,233 bytes ... April 22, 2013, at 11:41 AM
- th00---Wren-and-Dad-040328.jpg.jpg ... 5,602 bytes ... June 14, 2009, at 02:26 AM
- th00---Zones_chart.gif.jpg ... 5,468 bytes ... December 01, 2012, at 09:45 PM
- TomGlavich.jpg ... 28,108 bytes ... November 08, 2005, at 08:40 PM
- Tom_Mitchell_TCM.jpg ... 91,040 bytes ... August 28, 2011, at 02:38 PM
- Tony_Avent.jpg ... 53,070 bytes ... September 16, 2013, at 02:08 PM
- UCBG_SA_section1.jpg ... 91,733 bytes ... August 24, 2008, at 12:15 AM
- UCBG_SA_section2.jpg ... 98,844 bytes ... August 24, 2008, at 12:15 AM
- Uli-Garden.jpg ... 131,031 bytes ... January 23, 2022, at 04:26 PM
- Uli-Garden_b.jpg ... 105,822 bytes ... January 23, 2022, at 04:30 PM
- Winter_Garden_00_LAM.jpg ... 60,448 bytes ... April 22, 2013, at 11:41 AM
- World_climate.gif ... 135,383 bytes ... November 30, 2012, at 02:03 PM
- World_climate_small.gif ... 48,187 bytes ... January 23, 2016, at 05:13 PM
- World_climate_smaller.gif ... 42,285 bytes ... January 23, 2016, at 05:33 PM
- Wren-and-Dad-040328.jpg ... 101,550 bytes ... November 08, 2005, at 08:40 PM
- Zones_chart.gif ... 100,405 bytes ... December 02, 2012, at 11:51 PM
- Zones_chart_small.gif ... 48,227 bytes ... January 23, 2016, at 04:54 PM
Downloading binary files such as pictures or ZIP archives with $EnableDirectDownload=0;
sometimes results in corrupted files, why?
Some recipe or local configuration may output something before the file. This may happen if you have PHP files with a closing "?>" marker at the end, and some text or white space after it. It is recommended to remove these closing markers from your local and cookbook files.
Alternatively, there may be some PHP warning or message before the file data. On Unix-like systems you can peek into the file with the command less -f -L file.ext
and see the first few characters or lines. See Troubleshooting on how to track the source for the errors/warnings.
This page may have a more recent version on pmwiki.org: PmWiki:UploadsAdmin, and a talk page: PmWiki:UploadsAdmin-Talk.