2013-07-11 2 views
1

Я установил apache на сервер debian и добавил php. Но если я пытаюсь создать ZIP-файл, это не сработает. Нет сообщения об ошибке, но ZIP-файл не создается.PHP Zip-функция не работает (Debian, Apache, PHP5)

Код:

<?php 
$zip = new ZipArchive; 
$res = $zip->open('test.zip', ZipArchive::CREATE); 
$zip->addFile('Banner1.png', 'Banner1.png'); 
$zip->close(); 
?> 
+0

Являются ли скобки после ZipArchive необязательными в PHP? –

+0

@Patrick Вы видите какие-либо сообщения в журнале ошибок apache? – phihag

+0

Где я могу увидеть журнал ошибок? – Patrick

ответ

2

Скорее всего, пользователь, который PHP работает как (на Debian, www-data по умолчанию) не имеет права пишущие в каталог. Проверьте результат различных функций, как это:

<?php 
$zip = new ZipArchive(); 
$res = $zip->open('test.zip', ZipArchive::CREATE); 
if (!$res){ 
    echo 'Error while creating zip file: ' . $zip->getStatusString(); 
    exit(); 
} 
if (! $zip->addFile('Banner1.png', 'Banner1.png')) { 
    echo 'Error while adding Banner1: ' . $zip->getStatusString(); 
    exit(); 
} 
if (! $zip->close()) { 
    echo 'Error while closing: ' . $zip->getStatusString(); 
    exit(); 
} 

На Debian с умолчанию configuraiton, вы можете настроить разрешения с chown и chmod. Например, чтобы веб-сервер мог писать в этот каталог, попробуйте

sudo chown www-data /path/to/directory/with/php/file 
sudo chmod u+rwx /path/to/directory/with/php/file 
+1

Ошибка при закрытии: Ошибка создания временного файла: Отказано в Но как я могу это включить? – Patrick

+0

@Patrick Yup, это именно то сообщение, которое вы получаете, когда у вас нет необходимых прав доступа, как я подозревал. Изменен ответ двумя примерными командами, которые позволяют веб-серверу/php писать в каталог. – phihag

+0

Работает сейчас. Благодаря :) – Patrick

0

Sûre ваши $ Рез хорошо?

if ($res === TRUE) { 
    echo 'ok'; 
    $zip->addFile('Banner1.png', 'Banner1.png'); 
    $zip->close(); 
} else { 
    echo 'failed, code:' . $res; 
} 
+0

«OK», но не .zip файл – Patrick

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