Jump to content

Archived

This topic is now archived and is closed to further replies.

MilesWilson

Counting the number of files in a Zip file.

Recommended Posts

Hello!

Can anyone help me with this? I want to be able to count the number of files in an uploaded zip file.

I have this code:
[code]
<?php
$zip = zip_open("images.zip");
/* At this point I would like to echo another peice of javascript, telling the parent how many files there are in the zip */
if ($zip) {
  while ($zip_entry = zip_read($zip)) {
      if (zip_entry_open($zip, $zip_entry, "r")) {
                $buf = zip_entry_read($zip_entry, zip_entry_filesize($zip_entry));
          $name = zip_entry_name($zip_entry);
$stream = fopen('images/'.$name, "w");
          fwrite($stream, $buf) or die("helllp!");
          zip_entry_close($zip_entry);
echo "<script language='javascript'> window.parent.displayImage('".$name."'); </script>";
ob_flush();
flush();
sleep(3);
      }
  }
  zip_close($zip);
}

?>
[/code]

The sleep(3) is there to replace the code I will write shortly, which resizes the image. In the meantime, sleep() means I get a simulation of the time passing.

Thanks in advance.

Miles

Share this post


Link to post
Share on other sites
You could do this another way, if the script is running on linux

[code]
$command = "tar -tvf $file > file.output"
system ($command, $output);

$lines = file(file.output);
$num_lines = count ($lines);

echo "The Zip file has $num_lines lines";
[/code]

easy :)

Share this post


Link to post
Share on other sites
This works only on tar files, If you want it for a zip file, just use a command to list the files in the zip file in the $command statement instead!

Share this post


Link to post
Share on other sites
[quote author=vidyashankara link=topic=100577.msg397178#msg397178 date=1152899863]
This works only on tar files, If you want it for a zip file, just use a command to list the files in the zip file in the $command statement instead!

[/quote]

and what exactly would that command be? I'm not fluent with Linux at all.

Share this post


Link to post
Share on other sites

×

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.