无法在PHP服务器上上传和保存大图像文件

时间:2015-07-04 08:47:51

标签: php image upload

我已将php上传图片文件写入php服务器。 当100kB以内的小图像时,它就是成功的。 但是当超过500KB时,它会失败,并表示服务器上没有收到任何数据。 我也不知道为什么。没有文件保存在上传的php服务器中。 你知道怎么解决吗?

function uploadImages($input, $file)
{

    if($input == null || $input == "")
    {
        return false;
    }
    $stringVal = $input; 
    $value  = str_replace('data:image/png;base64,', '', $stringVal);

    if ($this->check_base64_image($value) == false) {
        return false;
    }

    $actualFile  = base64_decode($value);
    $img = imagecreatefromstring($actualFile);
    $imgSize = getimagesize('data://application/octet-stream;base64,' . base64_encode($actualFile));


    if ($img == false) {
        return false;
    }else
    {

        /*** maximum filesize allowed in bytes ***/
        $max_file_length  = 100000;

        log_message('debug', 'PRE UPLOADING!!!!!!!!');

        if (isset($img)){

            log_message('debug', 'UPLOADING!!!!!!!!');

            // check the file is less than the maximum file size
            if($imgSize['0'] > $max_file_length || $imgSize['1'] > $max_file_length)
            {
                log_message('debug', 'size!!!!!!!!'.print_r($imgSize));
                $messages = "File size exceeds $max_file_size limit";
                return false;
            }else if (file_exists($file)) {
                return false;
            }else
            {
                file_put_contents($file, $actualFile);
                return true;
            }
        }       
    } 
}

1 个答案:

答案 0 :(得分:0)

试试这个,

ini_set('post_max_size',52428800); // 50 MB
ini_set('upload_max_filesize',52428800) // 50 MB