On a busy server, with many many users, it is remotely possible that your time() call will not be unique, and 2 users will end up corrupting each others' zip files... PHP has built-in functions for making temp files with unique names. Use them. On Fri, June 1, 2007 2:32 am, Auto-Deppe, C. Haensel wrote: > 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@xxxxxxxxx> > To: "Chris" <dmagick@xxxxxxxxx> > Cc: "Auto-Deppe, C. Haensel" <c.haensel@xxxxxxxxxxxxx>; > <php-general@xxxxxxxxxxxxx> > Sent: Friday, June 01, 2007 9:27 AM > Subject: Re: ZIP it :o) > > >> On 6/1/07, Chris <dmagick@xxxxxxxxx> 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 >> >>> >> > > -- > PHP General Mailing List (http://www.php.net/) > To unsubscribe, visit: http://www.php.net/unsub.php > > -- Some people have a "gift" link here. Know what I want? I want you to buy a CD from some indie artist. http://cdbaby.com/browse/from/lynch Yeah, I get a buck. So? -- PHP General Mailing List (http://www.php.net/) To unsubscribe, visit: http://www.php.net/unsub.php