943,754 Members | Top Members by Rank

Ad:
  • PHP Discussion Thread
  • Unsolved
  • Views: 7165
  • PHP RSS
Apr 19th, 2005
0

Error reading zip

Expand Post »
I have this function whereby it allows people to download zip file but then i try to open it after downloading it, there was this error msg that says "Error reading zip".
Reputation Points: 11
Solved Threads: 1
Light Poster
starsunited is offline Offline
44 posts
since Dec 2004
Apr 19th, 2005
0

Re: Error reading zip

If you really want help you should post your code, or at least the portion you feel is causing the problem. Offhand it sounds like the zip file on the server has gotten corrupted somehow.
Reputation Points: 17
Solved Threads: 14
Posting Whiz
DanceInstructor is offline Offline
355 posts
since Feb 2005
Apr 19th, 2005
0

Re: Error reading zip

[PHP] $zipfile = new zipfile();
$zipfile -> add_dir("files/");
$dir = '../files';

$filename = "testing.mp3";
$pathname = "$dir/$filename";

$fr = fopen($pathname, 'r');
$data = fread($fr, filesize($pathname));

fclose($fr);

$zipfile->add_file($filedata, "files/".$filename);



header("Content-type: application/octet-stream");
header("Content-disposition: attachment; filename=testing.zip");
echo $zipfile->file();


[/PHP]



This is the part i feel is causing the problem. i have a zipfile class which creates zip files
Reputation Points: 11
Solved Threads: 1
Light Poster
starsunited is offline Offline
44 posts
since Dec 2004
Apr 20th, 2005
0

Re: Error reading zip

Have you tried:

[PHP]header("Content-type: application/x-zip");[/PHP]

Also, you open the file and put the data into $data. Then you use the class and use the variable $filedata. Should they be the same??
Reputation Points: 17
Solved Threads: 14
Posting Whiz
DanceInstructor is offline Offline
355 posts
since Feb 2005
Apr 20th, 2005
0

Re: Error reading zip

Quote originally posted by DanceInstructor ...
Have you tried:

[PHP]header("Content-type: application/x-zip");[/PHP]

Also, you open the file and put the data into $data. Then you use the class and use the variable $filedata. Should they be the same??
oh that, it's the same, i forget to change it because these codes are edited to protect the privacy of the codes.
Reputation Points: 11
Solved Threads: 1
Light Poster
starsunited is offline Offline
44 posts
since Dec 2004
Apr 24th, 2005
0

Re: Error reading zip

i try already but cannot still error reading zip but the file was in the downloaded because i see the file size of the zip is the same as the file size of the file.
Reputation Points: 11
Solved Threads: 1
Light Poster
starsunited is offline Offline
44 posts
since Dec 2004
Apr 26th, 2005
0

Re: Error reading zip

Hi

You should be using a content length header so the browser does not add \r?\n to the stream buffer...

Also your application-x-type is wrong...

PHP Syntax (Toggle Plain Text)
  1. if ( strstr ( strtolower ( $_SERVER['HTTP_USER_AGENT'] ), 'msie 5.5' ) )
  2. {
  3. $att = '';
  4. }
  5. else
  6. {
  7. $att = ' attachment;';
  8. }
  9.  
  10. header ( 'Cache-control: max-age=31536000' );
  11. header ( 'Expires: Mon, 26 Jul 1997 05:00:00 GMT' );
  12. header ( 'Content-Length: ' . filesize ( $filename ) );
  13. header ( 'Content-Type: application/x-zip-compressed; name="' . basename ( $filename ) . '"' );
  14. header ( 'Content-Disposition:' . $att . ' filename="' . basename ( $filename ) . '"' );
  15. header ( 'Content-Transfer-Encoding: binary' );
  16. readfile ( $filename );

demo
Reputation Points: 10
Solved Threads: 2
Newbie Poster
demo is offline Offline
18 posts
since Jan 2005
Apr 26th, 2005
0

Re: Error reading zip

so this codes are the correct one then? oh k i will try n see then thanks :cheesy:
Reputation Points: 11
Solved Threads: 1
Light Poster
starsunited is offline Offline
44 posts
since Dec 2004
Apr 26th, 2005
0

Re: Error reading zip

Quote originally posted by demo ...
Hi

You should be using a content length header so the browser does not add \r?\n to the stream buffer...

Also your application-x-type is wrong...

PHP Syntax (Toggle Plain Text)
  1. if ( strstr ( strtolower ( $_SERVER['HTTP_USER_AGENT'] ), 'msie 5.5' ) )
  2. {
  3. $att = '';
  4. }
  5. else
  6. {
  7. $att = ' attachment;';
  8. }
  9.  
  10. header ( 'Cache-control: max-age=31536000' );
  11. header ( 'Expires: Mon, 26 Jul 1997 05:00:00 GMT' );
  12. header ( 'Content-Length: ' . filesize ( $filename ) );
  13. header ( 'Content-Type: application/x-zip-compressed; name="' . basename ( $filename ) . '"' );
  14. header ( 'Content-Disposition:' . $att . ' filename="' . basename ( $filename ) . '"' );
  15. header ( 'Content-Transfer-Encoding: binary' );
  16. readfile ( $filename );

demo
by using basename, other ppl can know what is the location of the mp3 but for security purposes, i dun want ppl to know the location of the mp3
Reputation Points: 11
Solved Threads: 1
Light Poster
starsunited is offline Offline
44 posts
since Dec 2004
Apr 27th, 2005
0

Re: Error reading zip

i did not use zip file anymore then can work already. i am able to download the file successfully. the next problem arises up.

In the first place, the mp3 file has a ID3 tag. after it has been downloaded, the ID3 tag is deleted. I figure it must be the codinng though because when i download it straight from server through ftp. Everything is alright. i myself really do not know what is wrong.

This is the part of code which i think might be the problem

Quote ...
$currentdir = '../mp3_files';
$trackname = $trackdb->retrieveTrackName($track_oid);
$filename = "$trackname.mp3";
$pathname = "$currentdir/$filename";

$fr = fopen($pathname, 'r');
$filedata = fread($fr, filesize($pathname));

//fclose($fr);


//$zipfile->add_file($filedata,$filename);

header ( 'Content-Length: ' . filesize ( $pathname ) );
header("Content-type: application/octet-stream");
header("Content-disposition: attachment; filename=$filename");
header ( 'Content-Transfer-Encoding: binary' );
readfile($pathname);
Reputation Points: 11
Solved Threads: 1
Light Poster
starsunited is offline Offline
44 posts
since Dec 2004

This thread is more than three months old

No one has posted to this discussion for at least three months. Please let old threads die and do not reply to them unless you feel you have something new and valuable to contribute that absolutely must be added to make the discussion complete. Otherwise, please start a new thread in this forum instead.
Message:
Previous Thread in PHP Forum Timeline: Very new to PHP
Next Thread in PHP Forum Timeline: Help with phpBB for novice





About Us | Contact Us | Advertise | Acceptable Use Policy
Forum Index | Build Custom RSS Feed


Follow us on Twitter


© 2011 DaniWeb® LLC