2013-02-28 3 views
0

Чтобы дать вам небольшой опыт, я создал веб-сайт, который позволяет пользователям загружать изображения, которые впоследствии изменяются и отображаются. Веб-сайт работал отлично, но недавно я перевел его на новый сервер и столкнулся с несколькими проблемами. Я почти уверен, что проблема связана с правами доступа к файлам. Я установил папку для загрузки на 777, поэтому все мои загруженные ранее файлы работают без проблем, но проблема возникает при загрузке нового файла. Когда файл загружается, используя SFTP-доступ, изображение имеет разрешения, установленные на 666, указанным владельцем является apache. Я написал несколько строк, чтобы поэкспериментировать с функцией chmod, но не повезло.Изменение разрешений на файлы для загружаемых файлов с помощью PHP

<?php 
    require_once("/var/www/html/wp-load.php"); 
    echo shell_exec('whoami'); 
    $test = wp_getattachment_url(123); 
    chmod($test, 0755); 
    //chmod("/var/www/html/wp-content/uploads/image.jpg", 0755); 
    ?> 

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

+0

Зачем вам 755 разрешений на сам файл. Как владелец (пользователь apache) у вас уже есть разрешение на чтение/запись (666) на файл, даже если вы загрузили через sftp (как вы говорите, владелец загруженного файла - apache). Изменение размера/отображение не требуют большего разрешения. –

+0

Это был просто тест, чтобы проверить, могу ли я изменить права доступа к файлам. Первоначально я получил команду chmod сразу после создания файла. Возможно, разрешения не являются причиной проблемы. Любые другие идеи относительно того, почему функция изменения размера работала на моем предыдущем сервере, но не работает над новым? Загруженный файл сохраняется как полное изображение, но измененные изображения не создаются, как ранее. – panoramic

+0

При необходимости изменить размеры libs, такие как gd или imagemagic, не включены/установлены на сервере. –

ответ

1

При необходимости размер файла libs, такого как gd или imagemagic, не включен/установлен на сервере.

ПРИМЕЧАНИЕ. Я добавил ответы «Мои комментарии» в качестве ответа, поэтому на вопрос можно ответить.

Смежные вопросы