2013-06-01 3 views
3

У меня есть zip-файл на сервере. Это 1.1gb, составленный из тысяч маленьких файлов. У меня нет доступа к оболочке или корню на сервере, и я могу использовать только ftp и создавать php-файлы. До сих пор я пробовал exec и shell exec, но никто не работал. На сервере запущен бесплатный bsd. Как я могу разархивировать файл в каталог, в котором он находится?PHP Unzip очень большой файл

+0

Не могли бы вы изменить php.ini? Я предполагаю, что распаковать его в PHP потребуется некоторое время и вызовет тайм-аут. –

+0

Все, что у меня есть, - это ftp-доступ в корневой каталог веб-сайта, а php удобно работает как ограниченный пользователь. – Ozzy

+1

Если вы не можете изменить тайм-аут, я бы подумал, что просто разархивируйте локально и отправьте файлы, расстегнутые по FTP на сервер за ночь было бы самым простым решением. Вам все равно нужен сон, верно? :) –

ответ

0

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

Unzip a file with php

3

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

1
$filename = '/media/file.gz'; 

$unzipped_content = ''; 
$zd = gzopen($filename, "r"); 
while ($zip_file = gzread($zd, 10000000)){ 
    $unzipped_content.= $zip_file; 
} 
gzclose($zd); 

echo $unzipped_content; 
Смежные вопросы