Файл не записывается на сервере - PullRequest
0 голосов
/ 07 апреля 2011

Я разработал проект PHP. В этом я передаю изображение из флэш-памяти в PHP. Когда я получаю значение параметра, я конвертирую в формат base64 и записываю в новый файл (изображение в формате png). Вышеуказанная логика отлично работает в моей локальной системе. Но когда я развернул эту встречу на сервере. Кроме записи файла все работает.

Ниже приведен код для генерации изображения.

$filename = $templateID.'.png';

if ($handle = fopen("images/cat_images/".$filename, 'w'))
{
    if (!fwrite($handle, $somecontent) === FALSE)
    {
        fclose($handle);

        $query = "UPDATE `products` SET `template_data`='".$signData."' WHERE `id`=$templateID LIMIT 1";
        $db->query($query);
    }
}

Ответы [ 2 ]

0 голосов
/ 07 апреля 2011

попробуйте sudo chown www-data /path/to/images/ -r

, который даст право apache на запись, или добавьте пользователя www-data в вашу группу

или sudo chmod a+w /path/to/images/ -r, чтобы разрешить кому-либо писатьтам не самый лучший вариант

0 голосов
/ 07 апреля 2011

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

Дайте разрешение на запись в каталог.

EDIT

Убедитесь, что путь, который вы указали в fopen, правильный. Я думаю, что это не правильно в соответствии с вашей структурой каталогов.

Попробуйте указать полный путь в fopen

if ($handle = fopen("/full/path/here/images/cat_images/".$filename, 'w'))
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...