DokuWiki

It's better when it's simple

User Tools

Site Tools


faq:uploadcontentcheck

This is an old revision of the document!


Uploaded Content Mismatch

:?: When I try to upload an image, I get a “The uploaded content did not match the file extension” error. How to fix this.

:!: DokuWiki checks if uploaded files contain malicious content. To do this it needs access to uploaded file in the temporary upload directory. If your server uses PHP's open_basedir setting, you need to make sure your temporary upload directory is inside this basedir.

You can set the option to your DokuWiki temp dir. Either in your php.ini:

upload_tmp_dir = /path/to/dokuwiki/data/tmp

Or in your .htaccess file:

php_value upload_tmp_dir /path/to/dokuwiki/data/tmp

Another possibility is to change the “media_contentcheck” function in the “media.php” file which is placed in the “inc” folder.

if(substr($mime,0,6) == 'image/'){
        $info = getimagesize($file);
        if($mime == 'image/gif' && $info[2] != 1){
            msg(sprintf('php function getimagesize(%s) does not think this is an image/gif file (info[2]=%d) even though %s is the mime type',$file,$info[2],$mime));
            return 0;
        }elseif($mime == 'image/jpeg' && $info[2] != 2){
            msg(sprintf('php function getimagesize(%s) does not think this is an image/jpeg file (info[2]=%d) even though %s is the mime type',$file,$info[2],$mime));
            return 0;
        }elseif($mime == 'image/png' && $info[2] != 3){
            msg(sprintf('php function getimagesize(%s) does not think this is an image/png file (info[2]=%d) even though %s is the mime type',$file,$info[2],$mime));
            return 0;
        }
faq/uploadcontentcheck.1310559443.txt.gz · Last modified: 2011-07-13 14:17 by 137.193.251.30

Except where otherwise noted, content on this wiki is licensed under the following license: CC Attribution-Share Alike 4.0 International
CC Attribution-Share Alike 4.0 International Donate Powered by PHP Valid HTML5 Valid CSS Driven by DokuWiki