Home  >  Article  >  Backend Development  >  What to do if the content of the PHP download file is garbled

What to do if the content of the PHP download file is garbled

藏色散人
藏色散人Original
2021-03-08 09:31:261642browse

Solution to the garbled content of the PHP download file: 1. Clear the output buffer content through the "ob_clean()" function; 2. Refresh the PHP program's buffer through the "flush()" function.

What to do if the content of the PHP download file is garbled

#The operating environment of this article: Windows7 system, PHP7.1, Dell G3 computer.

Solution to the garbled and corrupted content of the downloaded file when downloading php files

When doing PHP programs, you need to use PHP to download files

Then Just do it, copy the code and change it.

Many effects have also appeared

After clicking download, well, I thought that the file download was completed. Who knew, when the picture was opened, it showed that the file was damaged, so I observed the size of the file. . It seems to be about 1KB too much.

Use PS to open it. Well, it prompts that it is damaged, but the image can come out.

Then I think it is the problem of the extra 1kb.

Then, I uploaded a txt and then downloaded it.

As expected, I found that there were a few extra characters in the front and back of the file.

Then I was thinking about how to remove it. I asked questions on various Baidu, Google, and forums.

Finally, after more than an hour of searching, I finally found a solution. [Recommended : "PHP Video Tutorial"】

The code is as follows

public function download()
{
  $upload=M('upload');
  $data=$upload->find($_GET['id']);

  if(empty($data)){
    header('HTTP/1.0 404 Not Found');
    header('Location: .');
  }else{

  $path='./public/Uploads/'.$data['savename'];

  header("Content-Type:".$data['type']);

  header('Content-Disposition: attachment; filename="'.$data['name'].'"');

  header('Content-Length:'.$data['size']);

  ob_clean();
  flush();

  readfile($path);

  }
}

Note:

ob_clean();
flush();This is the key. After using these two functions, it was done. The picture opened normally and the text was not garbled.

The above is the detailed content of What to do if the content of the PHP download file is garbled. For more information, please follow other related articles on the PHP Chinese website!

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn