The downloaded file code may be corrupted due to problems.
Source: Internet
Author: User
The downloader code may be faulty, causing the PDF file to damage the PDF file on the server to be healthy: it has been verified by direct downloading through FTP. Part of the download code is as follows: $ file_size & nbsp ;=& nbsp; filesize ($ filedir); header ("Content-type: & the download code may be faulty, resulting in file corruption
The PDF file on the server is healthy: it has been verified by direct FTP download.
Part of the download code is as follows:
If ($ file_size> 0)
$ Buffer = fread ($ fp, $ file_size-$ cur_pos );
Else
$ Buffer = fread ($ fp, $ this-> FjSize );
Echo $ buffer;
Fclose ($ fp );
Flush ();
------ Solution --------------------
$ Fp = fopen ($ filedir, "rb"); // it is opened in binary mode. it is recommended that you do not need it in linux.
For a file opened in text mode, 0x1a is regarded as the end of the file.
While (! Feof ($ fp) & $ filedir-$ cur_pos> $ buffer_size)
Yishu
While (! Feof ($ fp ))
Feof ($ fp) is the end of the file
$ Filedir-$ cur_pos> $ buffer_size is unnecessary.
Double judgment may lead to errors, for example, when $ filedir is not an integer multiple of $ buffer_size
Besides the file content, you cannot output any other content, including the BOM header.
The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion;
products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the
content of the page makes you feel confusing, please write us an email, we will handle the problem
within 5 days after receiving your email.
If you find any instances of plagiarism from the community, please send an email to:
info-contact@alibabacloud.com
and provide relevant evidence. A staff member will contact you within 5 working days.