Hi,
I have installed the PHP version of CKFinder today and I am extremely pleased with the results so far. I have stumbled across one problem though. I have set my image resize preferences to w=500px, h=400px and when I upload files larger than these dimensions it does indeed scale them correctly and is very effective. However, if my original source image is over approx. 1MB in size the image does get uploaded but no auto-resizing occurs. The image gets uploaded at its full size which is not what I want. If I then insert it, it is way way too big. This goes against the whole point of me setting maximum sizes as it is exactly this scenario that I am trying to avoid.
I have had a good search around the forum and as yet haven't found a solution to this. I wondered if it was more to do with how the PHP connector handles file uploads rather than an issue with CKFinder. I would however welcome any help or assistance with this issue.
Thanks in advance.
I have installed the PHP version of CKFinder today and I am extremely pleased with the results so far. I have stumbled across one problem though. I have set my image resize preferences to w=500px, h=400px and when I upload files larger than these dimensions it does indeed scale them correctly and is very effective. However, if my original source image is over approx. 1MB in size the image does get uploaded but no auto-resizing occurs. The image gets uploaded at its full size which is not what I want. If I then insert it, it is way way too big. This goes against the whole point of me setting maximum sizes as it is exactly this scenario that I am trying to avoid.
I have had a good search around the forum and as yet haven't found a solution to this. I wondered if it was more to do with how the PHP connector handles file uploads rather than an issue with CKFinder. I would however welcome any help or assistance with this issue.
Thanks in advance.

Re: (PHP) Upload and Auto resize of large source images
Image resizing requires a lot of memory resources, when large image is uploaded, default memory_limit is not enough.
That's why there is a setMemoryForImage() function which try to increase the amount of available memory for the resizing process.
Make sure that ini_set is not disabled in php.ini by your server administrator, this also may be the cause why resizing of larger images fails.
Wiktor Walc
CTO, CKSource - http://cksource.com
--
Follow CKEditor on: Twitter | Facebook | Google+
Re: (PHP) Upload and Auto resize of large source images
Re: (PHP) Upload and Auto resize of large source images
Re: (PHP) Upload and Auto resize of large source images
Increasing this value to 6 shouldn't cause any harm.
It was set to the lowest value that seemed to be reasonable (2.4), however it looks like it is still a bit too low by default.
By increasing $TWEAKFACTOR, you're changing the maximum amount of memory allowed to be used by script (memory_limit).
If you set this to 10000 for example, it will have the same effect as setting memory_limit to -1. PHP will simply use as much memory as it needs to resize the image.
Wiktor Walc
CTO, CKSource - http://cksource.com
--
Follow CKEditor on: Twitter | Facebook | Google+
Re: (PHP) Upload and Auto resize of large source images
I have now the case that we try to upload an image with the following specs:
- Size: 13MB
- Pixel: 6520 x 4865 @ 240 DPI
The uploading is going till the end, than message "Ungültige Datei" - "Invalid File" appears.
We set the php.ini to memory_usage of 500 and we changed the TWEAKFACTOR = 50;
But still not working.
Any other suggestions?
Thanks for help
Oliver
Re: (PHP) Upload and Auto resize of large source images
Wiktor Walc
CTO, CKSource - http://cksource.com
--
Follow CKEditor on: Twitter | Facebook | Google+
Re: (PHP) Upload and Auto resize of large source images
Hi!
I've a similar problem. When I upload large images (3MB for example), ckfinder show me an error because "File size is too big". I can't find any config problem, what can I do?
<?php /* * ### CKFinder : Configuration File - Basic Instructions * * In a generic usage case, the following tasks must be done to configure * CKFinder: * 1. Check the $baseUrl and $baseDir variables; * 2. If available, paste your license key in the "LicenseKey" setting; * 3. Create the CheckAuthentication() function that enables CKFinder for authenticated users; * * Other settings may be left with their default values, or used to control * advanced features of CKFinder. */ /** * This function must check the user session to be sure that he/she is * authorized to upload and access files in the File Browser. * * @return boolean */ function CheckAuthentication() { //WARNING : DO NOT simply return "true". By doing so, you are allowing //"anyone" to upload and list the files in your server. You must implement //some kind of session validation here. Even something very simple as... // return isset($_SESSION['IsAuthorized']) && $_SESSION['IsAuthorized']; //... where $_SESSION['IsAuthorized'] is set to "true" as soon as the //user logs in your system. XXXXXXXXXXXXXXXXXXXXXXXXXXX } // LicenseKey : Paste your license key here. If left blank, CKFinder will be // fully functional, in demo mode. $config['LicenseName'] = ''; $config['LicenseKey'] = ''; /* To make it easy to configure CKFinder, the $baseUrl and $baseDir can be used. Those are helper variables used later in this config file. */ /* $baseUrl : the base path used to build the final URL for the resources handled in CKFinder. If empty, the default value (/userfiles/) is used. Examples: $baseUrl = 'http://example.com/ckfinder/files/'; $baseUrl = '/userfiles/'; ATTENTION: The trailing slash is required. */ $baseUrl = 'http://www.XXXXX.com/images/ckeditor/'; /* $baseDir : the path to the local directory (in the server) which points to the above $baseUrl URL. This is the path used by CKFinder to handle the files in the server. Full write permissions must be granted to this directory. Examples: // You may point it to a directory directly: $baseDir = '/home/login/public_html/ckfinder/files/'; $baseDir = 'C:/SiteDir/CKFinder/userfiles/'; // Or you may let CKFinder discover the path, based on $baseUrl: $baseDir = resolveUrl($baseUrl); ATTENTION: The trailing slash is required. */ $baseDir = '/var/www/XXXX/current/public/images/ckeditor/'; /* * ### Advanced Settings */ /* Thumbnails : thumbnails settings. All thumbnails will end up in the same directory, no matter the resource type. */ $config['Thumbnails'] = Array( 'url' => $baseUrl . '_thumbs', 'directory' => $baseDir . '_thumbs', 'enabled' => true, 'directAccess' => false, 'maxWidth' => 100, 'maxHeight' => 100, 'bmpSupported' => false, 'quality' => 80); /* Set the maximum size of uploaded images. If an uploaded image is larger, it gets scaled down proportionally. Set to 0 to disable this feature. */ $config['Images'] = Array( 'maxWidth' => 1600, 'maxHeight' => 1200, 'quality' => 100); /* RoleSessionVar : the session variable name that CKFinder must use to retrieve the "role" of the current user. The "role", can be used in the "AccessControl" settings (bellow in this page). To be able to use this feature, you must initialize the session data by uncommenting the following "session_start()" call. */ $config['RoleSessionVar'] = 'CKFinder_UserRole'; //session_start(); /* AccessControl : used to restrict access or features to specific folders. Many "AccessControl" entries can be added. All attributes are optional. Subfolders inherit their default settings from their parents' definitions. - The "role" attribute accepts the special '*' value, which means "everybody". - The "resourceType" attribute accepts the special value '*', which means "all resource types". */ $config['AccessControl'][] = Array( 'role' => '*', 'resourceType' => '*', 'folder' => '/', 'folderView' => true, 'folderCreate' => true, 'folderRename' => true, 'folderDelete' => true, 'fileView' => true, 'fileUpload' => true, 'fileRename' => true, 'fileDelete' => true); /* For example, if you want to restrict the upload, rename or delete of files in the "Logos" folder of the resource type "Images", you may uncomment the following definition, leaving the above one: $config['AccessControl'][] = Array( 'role' => '*', 'resourceType' => 'Images', 'folder' => '/Logos', 'fileUpload' => false, 'fileRename' => false, 'fileDelete' => false); */ /* ResourceType : defines the "resource types" handled in CKFinder. A resource type is nothing more than a way to group files under different paths, each one having different configuration settings. Each resource type name must be unique. When loading CKFinder, the "type" querystring parameter can be used to display a specific type only. If "type" is omitted in the URL, the "DefaultResourceTypes" settings is used (may contain the resource type names separated by a comma). If left empty, all types are loaded. maxSize is defined in bytes, but shorthand notation may be also used. Available options are: G, M, K (case insensitive). 1M equals 1048576 bytes (one Megabyte), 1K equals 1024 bytes (one Kilobyte), 1G equals one Gigabyte. Example: 'maxSize' => "8M", */ $config['DefaultResourceTypes'] = ''; $config['ResourceType'][] = Array( 'name' => 'Files', // Single quotes not allowed 'url' => $baseUrl . 'files', 'directory' => $baseDir . 'files', 'maxSize' => 0, 'allowedExtensions' => '7z,aiff,asf,avi,bmp,csv,doc,fla,flv,gif,gz,gzip,jpeg,jpg,mid,mov,mp3,mp4,mpc,mpeg,mpg,ods,odt,pdf,png,ppt,pxd,qt,ram,rar,rm,rmi,rmvb,rtf,sdc,sitd,swf,sxc,sxw,tar,tgz,tif,tiff,txt,vsd,wav,wma,wmv,xls,zip', 'deniedExtensions' => ''); $config['ResourceType'][] = Array( 'name' => 'Images', 'url' => $baseUrl . 'images', 'directory' => $baseDir . 'images', 'maxSize' => 0, 'allowedExtensions' => 'bmp,gif,jpeg,jpg,png', 'deniedExtensions' => ''); $config['ResourceType'][] = Array( 'name' => 'Flash', 'url' => $baseUrl . 'flash', 'directory' => $baseDir . 'flash', 'maxSize' => 0, 'allowedExtensions' => 'swf,flv', 'deniedExtensions' => ''); /* Due to security issues with Apache modules, it is recommended to leave the following setting enabled. How does it work? Suppose the following: - If "php" is on the denied extensions list, a file named foo.php cannot be uploaded. - If "rar" (or any other) extension is allowed, one can upload a file named foo.rar. - The file foo.php.rar has "rar" extension so, in theory, it can be also uploaded. In some conditions Apache can treat the foo.php.rar file just like any PHP script and execute it. If CheckDoubleExtension is enabled, each part of the file name after a dot is checked, not only the last part. In this way, uploading foo.php.rar would be denied, because "php" is on the denied extensions list. */ $config['CheckDoubleExtension'] = true; /* If you have iconv enabled (visit http://php.net/iconv for more information), you can use this directive to specify the encoding of file names in your system. Acceptable values can be found at: http://www.gnu.org/software/libiconv/ Examples: $config['FilesystemEncoding'] = 'CP1250'; $config['FilesystemEncoding'] = 'ISO-8859-2'; */ $config['FilesystemEncoding'] = 'UTF-8'; /* Perform additional checks for image files if set to true, validate image size */ $config['SecureImageUploads'] = true; /* Indicates that the file size (maxSize) for images must be checked only after scaling them. Otherwise, it is checked right after uploading. */ $config['CheckSizeAfterScaling'] = true; /* For security, HTML is allowed in the first Kb of data for files having the following extensions only. */ $config['HtmlExtensions'] = array('html', 'htm', 'xml', 'js'); /* Folders to not display in CKFinder, no matter their location. No paths are accepted, only the folder name. The * and ? wildcards are accepted. */ $config['HideFolders'] = Array(".svn", "CVS"); /* Files to not display in CKFinder, no matter their location. No paths are accepted, only the file name, including extension. The * and ? wildcards are accepted. */ $config['HideFiles'] = Array(".*"); /* After file is uploaded, sometimes it is required to change its permissions so that it was possible to access it at the later time. If possible, it is recommended to set more restrictive permissions, like 0755. Set to 0 to disable this feature. Note: not needed on Windows-based servers. */ $config['ChmodFiles'] = 0777 ; /* See comments above. Used when creating folders that does not exist. */ $config['ChmodFolders'] = 0755 ; /* Force ASCII names for files and folders. If enabled, characters with diactric marks, like å, ä, ö, ć, č, đ, š will be automatically converted to ASCII letters. */ $config['ForceAscii'] = false; include_once "plugins/imageresize/plugin.php"; include_once "plugins/fileeditor/plugin.php"; $config['plugin_imageresize']['smallThumb'] = '90x90'; $config['plugin_imageresize']['mediumThumb'] = '120x120'; $config['plugin_imageresize']['largeThumb'] = '180x180';Re: (PHP) Upload and Auto resize of large source images
memory_limit
upload_max_filesize
post_max_size
Wiktor Walc
CTO, CKSource - http://cksource.com
--
Follow CKEditor on: Twitter | Facebook | Google+
Re: (PHP) Upload and Auto resize of large source images
Thanks a lot for the reply:
So, the problem is there, right? Changing upload_max_filesize to 10mb and post_max_size to a higher value will allow images of 10mb to be uploaded with ckfinder?
Thanks a lot
Re: (PHP) Upload and Auto resize of large source images
Wiktor Walc
CTO, CKSource - http://cksource.com
--
Follow CKEditor on: Twitter | Facebook | Google+