- Основное назначение : загрузить обрезанный файл.
- Язык : PHP
- Framework : Codeigniter
- Библиотека урожая : cropperjs
- ОС : Windows 10
Я хочу создать временный файл с данными base64, каким-то образом он создается как 0 КБ, то есть нетданные в нем. Я имею в виду ответ: https://stackoverflow.com/a/11579060
По коду, как показано ниже:
$temp_file_path = tempnam(sys_get_temp_dir(), 'user_photo'); // might not work on some systems, specify your temp path if system temp dir is not writeable
$can_crop = true;
$base_64_image = explode( ',', $_POST['image-thumb']);
if(sizeof($base_64_image) > 1) {
if (file_put_contents($temp_file_path, base64_decode($base_64_image[1]) == false)) {
$can_crop = false;
}
} else {
$can_crop = false;
}
Здесь file_put_contents возвращает фактический размер данных, что означает, что содержимое копируется вфайл, но когда я вижу свой временный файл, он имеет размер 0 КБ, я вижу, есть ли какой-либо контент или нет, путем редактирования, но он был пустым.
Примечание: ранее он работал, если я не взорвалданные изображения, т.е.
data:image/png;base64,AAAFBfj42Pj4'
Но поскольку я анализирую фактическое содержимое и декодирую данные base_64, т.е. AAAFBfj42Pj4
, он создает файлы в 0 КБ.
Я искал пару вопросов, ноне помогло.