I'm currently using the magento admin interface, trying to upload an image in the "manage products" and I get the error "file was not uploaded" after I browse the file and click "upload file". I've looked on other forums and the main solution I saw were to make sure that php.ini has the following lines...
magic_quotes_gpc = off
short_open_tag = on
extension=pdo.so
extension=pdo_mysql.so
I have Windows/IIS with ISAPI_Rewrite. Is there a max file upload size that I can change somewhere. I'm uploading pictures from my local desktop of size ~100kb. help!
If you check the XHR response in a debugger, you'll see this {"error":"File was not uploaded.","errorcode":666}
This error comes from Varien_File_Uploader::__construct()
in lib/Varien/File/Uploader.php
Here are the important parts
<?php
class Varien_File_Uploader
{
/**
* Uploaded file handle (copy of $_FILES[] element)
*
* @var array
* @access protected
*/
protected $_file;
const TMP_NAME_EMPTY = 666;
function __construct($fileId)
{
$this->_setUploadFileId($fileId);
if(!file_exists($this->_file['tmp_name'])) {
$code = empty($this->_file['tmp_name']) ? self::TMP_NAME_EMPTY : 0;
throw new Exception('File was not uploaded.', $code);
} else {
$this->_fileExists = true;
}
}
}
Looking back up the trace you see this is called
$uploader = new Mage_Core_Model_File_Uploader('image');
Which is extended from the Varien class, so the Varien_File_Uploader::_setUploadFileId($fileId)
will construct the $this->_file
array based on the key image
, in this case.
So now the problem is why is $_FILES['image']['tmp_name']
empty?
I checked the 'error'
field by temporarily changing the exception to
throw new Exception('File was not uploaded. ' . $this->_file['error'], $code);
I got 7
, which is Failed to write file to disk.
which means it's a permissions issue. Do a phpinfo()
to check where your upload_tmp_dir
is set to and make sure it's writable.
In my case, I was out of file space in the /tmp
dir.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With