Re: ZIP it :o)

From: Date: Fri, 01 Jun 2007 07:32:49 +0000
Subject: Re: ZIP it :o)
References: 1 2 3 4 5 6  Groups: php.general 
Request: Send a blank email to php-general+get-255959@lists.php.net to get a copy of this message
Hi guys, thanks to Jim, I made it :o) Here's the source I'm using for testing now... it works. I just need to make it less vulnerable ;o) ----- SNIP ----- <? $nr = $_GET['nr']; if(eregi("../", $nr)) { die("Hier wird nicht rumgehackt"); } $directory = '_kfz_images/'.$nr.'/full/'; $dir = opendir($directory); $i = 1; while($file = readdir($dir)) { $dest = "temp/Auto-Deppe-".$nr."_".$i.".jpg"; if(eregi("jpg", $file)) { copy($directory.$file, $dest); $i++; } } $now = time(); header("Content-Type: application/force-download"); header('Content-Disposition: attachment; filename="Auto-Deppe-'.$now.'_Download.zip"'); exec("zip ".$now."_archive.zip temp/* 2>&1", $output); readfile($now."_archive.zip"); $tempdir = opendir("temp"); while($tempfile = readdir($tempdir)) { if(eregi("jpg", $tempfile)) { unlink("temp/".$tempfile); } } ?> ----- SNAP ----- So I am copying the files to a temp dir, and then zip em up, delete them afterwards. I copy them to the dir so I wouldn't have the whole /kfz_images/number/full/ structure in the zip). Aaaanyhow, it works, it does work fast enough, and I am happy :o) Thanks a bunch, guys, and have a great day! This is Christian Haensel live from Extertal, Germany. Back to you. -:oD)= ----- Original Message ----- From: "Tijnema" <tijnema@gmail.com> To: "Chris" <dmagick@gmail.com> Cc: "Auto-Deppe, C. Haensel" <c.haensel@auto-deppe.de>; <php-general@lists.php.net> Sent: Friday, June 01, 2007 9:27 AM Subject: Re: [PHP] ZIP it :o)
On 6/1/07, Chris <dmagick@gmail.com> wrote:
Auto-Deppe, C. Haensel wrote:
Morning guys, I have been trying to find an easy to use way to zip an archive on a linux box running PHP5. Now I've tried the zip-lib.php and others, but they always throw an error msg.... But that is not the question. I am looking to use exec("zip archive.zip $directory"); $directory has been tried with both full path and relative path ... but that doesn't work. I don't get an error, it just doesn't create the zip-file... So, after a day of Google-ing and trying, I thought I might ask you for help. Cheers for any answers and hints.
http://pear.php.net/package/Archive_Zip and/or http://pear.php.net/package/File_Archive and please create a *new* message instead of replying to an existing one and changing the topic. It screws up message threading (in email clients and in the archives).
Not in gmail :) I had same problem lately, wanted also to create zip files from PHP, i tried various build in functions, but i ended up with the exec way. It has been said before, but PHP probably doesn't have the right permissions to write the .zip file, so i would recommend you to write to /tmp first. Tijnema


« previous php.general (#255959) next »