Heim > Backend-Entwicklung > PHP-Tutorial > php 文件下载失误

php 文件下载失误

WBOY
Freigeben: 2016-06-13 13:26:19
Original
1155 Leute haben es durchsucht

php 文件下载出错
写了一个 文件下载的程序

PHP code
<!--

Code highlighting produced by Actipro CodeHighlighter (freeware)
http://www.CodeHighlighter.com/

-->function download_file($filename){
     //below to provide the download
                    if (file_exists($filename)) {
                        
                         $file = fopen($filename);
                    header('Content-Description: File Transfer');
                    header('Content-Type: application/octet-stream');
                    header('Content-Disposition: attachment; filename=' . basename($filename));
                    header('Content-Transfer-Encoding: binary');
                    header('Expires: 0');
                    header('Cache-Control: must-revalidate');
                    header('Pragma: public');
                    header('Content-Length: ' . filesize($filename) . ' bytes');
                    //ob_clean();
                    //flush();
                    readfile($filename);
                    fclose($file);
                    return true;
                }else{
                    echo("the file not exist");
                    return false;
                }
                //above to provide the download
 }
Nach dem Login kopieren

但是没有进行 下载的功能。文件在上一步已经生成了。 但是如果我将 return true改成exit 下载功能可以实现,但是文件下载之后我还要进行其他的功能。请教大神们这是怎么回事? 我看网上的下载例子也不是说需要exit才可以的


------解决方案--------------------
看你在哪调用这个函数,检查下在哪里调用的,那里是不是有问题?
------解决方案--------------------
这样呢:
PHP code

if(download_file($filename)){
  #下面的操作
}else{
  #错误提示
}
<br><font color="#e78608">------解决方案--------------------</font><br>
Nach dem Login kopieren
探讨
写了一个 文件下载的程序PHP code
function download_file($filename){
//below to provide the download
if (file_exists($filename)) {

$file ……

------解决方案--------------------
探讨

引用:

这样呢:
PHP code

if(download_file($filename)){
#下面的操作
}else{
#错误提示
}



不太明白你说的 你说的也是将return给省略了吗? return省略去了 我也不可以运行

------解决方案--------------------
你那个函数return false就相当于preventDefault不会提交表单
在满足答件时,例如检查字段为非空,然后return true;页面才进行跳转,也才会调用你的action
这是表单提交常用的阻止异常提交的方法
Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage