#php #codeigniter
#php #codeigniter
Вопрос:
У меня есть строка изображения в кодировке base64 $imgcode
, которая представляет собой изображение в кодировке base64, и я хочу загрузить его с помощью codeigniter.
Вот что я делаю —
$this->Photo_model->uploadPhoto($userdir,base64_decode($imgCode)
Функция uploadPhoto такова:
public function uploadPhoto($path,$img){
//echo $img;
//echo $path;
$config['upload_path'] = $path;
$config['allowed_types'] = 'gif|jpg|png';
$config['max_size'] = '1000';
$config['max_width'] = '1024';
$config['max_height'] = '768';
$this->load->library('upload', $config);
if(!$this->upload->do_upload($img)){
return FALSE;
}
else{
$fInfo = $this->upload->data();
$this->createThumbnail($fInfo['file_name'],$fInfo['file_path']);
$this->load->model('Photo_model');
if($this->Photo_model->savePhotoInfo($fInfo['file_name'],$path)){
return true;
}
else{
return false;
}
}
}
Изображение не загружается. Это правильный способ?
Комментарии:
1. Я удалил фактическую строку, которая чуть не разбила мой браузер, когда я попытался ее отредактировать.
Ответ №1:
Поступали сообщения о различных сбоях, когда base64_decode используется для декодирования больших файлов. Подробнее о проблемах можно узнать здесь http://www.php.net/manual/en/function.base64-decode.php#105512
Я рекомендую разделить строку следующим образом $decodedstring=base64_decode(chunk_split($encodedstring));