Intereting Posts
Предотвращение подачи формы дважды как я могу определить, работает ли mysql_real_escape_string PHP Сделайте что-то, когда сессия истекла Какая база данных используется в построителе динамической формы? который является лучшим способом получить ip Есть ли сильный синтаксический анализатор кода BB для PHP без зависимостей? Ошибка: общие конфликты php55w с php-common на CentOS 6.5 Как много людей и один человек в Symfony и Doctrine? PHP анализирует строки HTML на основе имени класса попытка включить allow_url_fopen путем установки php.ini в wordpress root не работает Неизвестно: не удалось открыть окно «0ff» (include_path = '.: / Tmp: / usr / lib / php: / usr / local / lib / php') в Unknown в строке 0 PHP: ограничение для foreach ()? Я пытаюсь использовать значение текстового поля в качестве переменной сеанса Как отправить значения из html-формы в почту в таблице PHP Используйте AJAX для отображения генерируемого php изображения

Сохранить кодированное изображение base64 в файл в PHP

У меня есть следующий код:

<?php header('Content-Type: image/png'); $data = "iVBORw0KGgoAAAANSUhEUgAAAuAAAAI8CAYAAACwIh5dAAAgAElkZJgRCXxOAuIPzzTlg......"; define('UPLOAD_DIR', '/home/Desktop/image.png'); $img = $data; $img = str_replace('data:image/png;base64,', '', $img); $img = str_replace(' ', '+', $img); $data = base64_decode($img); $file = UPLOAD_DIR . uniqid() . '.png'; $success = file_put_contents($file, $data); print $success ? $file : 'Unable to save the file.'; ?> 

Здесь $data содержит закодированную строку изображения в базе-64. Я хочу сохранить изображение в файл. Я сделал предыдущий код, также просматриваю много учебников в Google, но он не работает.

Может ли кто-нибудь помочь мне, где я ошибаюсь.

Заранее спасибо.

 define('UPLOAD_DIR', '/home/xpointers/Desktop/'); 

Запомнить! Ваш веб-сервер apache будет работать со своими собственными правами пользователя (например, www-data). Позаботьтесь о том, чтобы ваш пользователь apache или группа apache запускали доступ к вашему желаемому каталогу. Чтобы проверить, вы можете chmod 777 в этот каталог и посмотреть, что произойдет.

Написание внутри каталога пользователя не всегда является хорошей идеей. Если возможно, используйте нейтральный каталог, к которому могут обращаться нужные пользователи.

Я считаю, что эта строка:

 define('UPLOAD_DIR', '/home/Desktop/image.png'); 

Должно быть:

 define('UPLOAD_DIR', '/home/Desktop/'); 

Сначала укажите правильный путь:

 define('UPLOAD_DIR', '/home/Desktop/'); 

После проверки, что предоставленный вами путь имеет право на чтение / запись или нет.