Jump to content

zipArchive problems...


bobcooper

Recommended Posts

Hi there,

 

I'm trying to create a zip file from an array of images that are posted from a form using the following code:

<?php 
	$shortlist = $_POST['shortlist'];
	$dir = $_POST['imageDir'];

	$imageDir = $dir;
	$imageArr = array();
	$imageArr = preg_split('/\r\n|\r|\n/', $_POST['shortlist']);
	array_shift($imageArr);
	
	/*
	foreach ($imageArr as &$value) {
		$value = rtrim($value);
    	$value = $imageDir . "/" . $value;
    }
    */
    $imageTotal = count($imageArr);
    
    
		$zip = new ZipArchive(); // Load zip library
		$zip_name = time().".zip"; // Zip name
		if($zip->open($zip_name, ZIPARCHIVE::CREATE)!==TRUE) {
			// Opening zip file to load files
			echo "* Sorry ZIP creation failed at this time";
		} else {
			echo"zip created";
			chmod($zip_name, 0755);
			
			foreach($imageArr as $file) {
				$hostedFile = $imageDir . '/' . $file;
				echo '<img src="' . $hostedFile . '" />';
				$zip->addFile($hostedFile,$file);
			}
			$close = $zip->close();
			if ($close) {   
				echo 'File Closed';
    		} else {
    			echo 'fail!!';
    		}
			echo 'Download these images as a <a href="'.$zip_name.'">ZIP file</a>.\n';
		}
		

    
?>

The php file is in a separate folder e.g. www.website.com/php/zip-test.php to the images folder as I want to be able to re-use it for other folders.

 

I get as far as adding the files to the zip but when I try to close the zip it fails. The only thing I can think is that the $hostedFile is a relative link, e.g. /images/image1.jpg rather than http://www.website.com/images/image1.jpg so it's not finding the image to add to the zip

 

So I tried adding the full website path to the image but it still does not work. The image is displaying fine when I echo it as an image, it just doesn't add to the zip.

 

Any ideas?

 

Thanks,

 

Bob

Link to comment
Share on other sites

This thread is more than a year old. Please don't revive it unless you have something important to add.

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...

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.