6

I have a zip file on the server. It's 1.1gb made up of thousands of small files. I do not have shell or root access to the server and can only use ftp and create php files.. so far I have tried exec and shell exec but none worked. The server is running free bsd. How can I unzip the file into the directory it is in?

Ozzy
  • 10,285
  • 26
  • 94
  • 138
  • Could you edit php.ini? I presume unzipping it in PHP would take a while and would cause a timeout. – Joachim Isaksson Jun 01 '13 at 22:28
  • All I have is ftp access into the web root directory, and php is pribably running as a limited user – Ozzy Jun 01 '13 at 22:33
  • 1
    If you can't change the timeout, I would think just unzipping locally and sending the files unzipped over FTP to the server over night would be the easiest solution. You need the sleep anyway, right? :) – Joachim Isaksson Jun 01 '13 at 22:35

3 Answers3

5

For a pure PHP solution, try PclZip - this would not require you to install any PHP extensions or require shell access - you just need to write access to wherever you want to extract the files.

Paul Dixon
  • 295,876
  • 54
  • 310
  • 348
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;
elad
  • 21
  • 1
0

Thanks for the suggestions everyone. I ended up modifying the code in this question to unzip the files.

Unzip a file with php

Community
  • 1
  • 1
Ozzy
  • 10,285
  • 26
  • 94
  • 138