php 文件上载有关问题
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); exit;}$this->_redirect('xxxxxxx');
以上是网上通用的一段php文件下载的代码,我的问题是这样的,我要实现点击一个button实现下载同时实现刷新页面的内容吗,也就是说我不希望 exit;我在文件下载了之后还要继续执行之后的代码。也就是说我的下载完成之后$this->_redirect('xxxxxxx');这个语句不执行,请教下有什么解决方法吗?
------解决方案--------------------
$file = fopen($filename);
readfile($filename);
fclose($file);
直接readfile就行了。
这个重定向只能用JS做了, 但onclick只能标记一下变量, 等失去焦点检查一下变量再说.
- C/C++ code
[User:root Time:23:25:51 Path:/home/apache/web]$ cat index.html <meta http-equiv="Content-Type" content="text/html; charset=utf-8"><script type="text/javascript">var is_click = false;</script><a href="index.php" onclick="is_click = true;" onmouseout="if (is_click) location.href='main.php';">aaa</a><br><font color="#e78608">------解决方案--------------------</font><br>不可以,一个HTTP会话只能传递一种类型的数据<br>况且下载对用户而言是异步的<br><font color="#e78608">------解决方案--------------------</font><br>打开而不是保存,这是因为文件类型浏览器能够识别,比如chrome会显示pdf文件,而不是保存。<br>你需要额外添加一个Header响应头:<br>Content-Disposition: attachment; filename="$文件名"<br><br>至于如何添加,你可以让PHP来读取输出这个生成的文件,并用header函数即可。<br>或者web服务器也可以配置对文件强制下载,不过我不知道怎么设置<div class="clear"> </div>

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen



Viele Benutzer werden sich bei der Auswahl von Smartwatches für die Marke Huawei entscheiden. Viele Benutzer sind neugierig auf den Unterschied zwischen Huawei GT3pro und GT4. Was sind die Unterschiede zwischen Huawei GT3pro und GT4? 1. Aussehen GT4: 46 mm und 41 mm, das Material ist Glasspiegel + Edelstahlgehäuse + hochauflösende Faserrückschale. GT3pro: 46,6 mm und 42,9 mm, das Material ist Saphirglas + Titangehäuse/Keramikgehäuse + Keramikrückschale 2. Gesundes GT4: Mit dem neuesten Huawei Truseen5.5+-Algorithmus werden die Ergebnisse genauer. GT3pro: EKG-Elektrokardiogramm sowie Blutgefäß und Sicherheit hinzugefügt

[SpringBoot] Übergeben von Parametern im Header durch Feign-Aufrufe So übergeben Sie Header-Parameter durch Feign Problembeschreibung Wenn wir Feign verwenden, um die API-Schnittstelle eines anderen Dienstes in Spring Cloud anzufordern, müssen die Parameter im Header übergeben werden. Wenn nein Wenn eine spezielle Verarbeitung durchgeführt wird, gehen die Parameter im Header verloren. Lösung 1: Übergeben Sie es über @RequestHeader(name="headerName"). Beispiel: Feign ist wie folgt definiert: @FeignClient(name="service-name")pub

Der Header von Linux bezieht sich auf den Anfang einer Datei oder eines Datenstroms, der Metadaten über den Inhalt enthält. Durch korrektes Schreiben und Verwenden der Header-Datei können Entwickler Systemressourcen besser nutzen und die Lesbarkeit und Lesbarkeit des Codes verbessern. Wartbarkeit.

Warum das Snipping-Tool unter Windows 11 nicht funktioniert Das Verständnis der Grundursache des Problems kann dabei helfen, die richtige Lösung zu finden. Hier sind die häufigsten Gründe, warum das Snipping Tool möglicherweise nicht ordnungsgemäß funktioniert: Focus Assistant ist aktiviert: Dies verhindert, dass das Snipping Tool geöffnet wird. Beschädigte Anwendung: Wenn das Snipping-Tool beim Start abstürzt, ist es möglicherweise beschädigt. Veraltete Grafiktreiber: Inkompatible Treiber können das Snipping-Tool beeinträchtigen. Störungen durch andere Anwendungen: Andere laufende Anwendungen können mit dem Snipping Tool in Konflikt geraten. Das Zertifikat ist abgelaufen: Ein Fehler während des Upgrade-Vorgangs kann zu diesem Problem führen. Diese einfache Lösung ist für die meisten Benutzer geeignet und erfordert keine besonderen technischen Kenntnisse. 1. Aktualisieren Sie Windows- und Microsoft Store-Apps

PHP ist eine leistungsstarke Programmiersprache, mit der dynamische Websites und Webanwendungen erstellt werden können. Eine der leistungsstärksten Funktionen ist die header()-Methode von PHP. In diesem Artikel erfahren Sie, wie Sie die header()-Methode von PHP zum Anpassen von Webseiten verwenden.

So implementieren Sie einen Sprung im PHP-Header: 1. Verwenden Sie die Syntax „Header(“Location:$url“);“ "]){ header('location:register.php'); } else{ setcookie('u_type','1','86400*360');".

Teil 1: Erste Schritte zur Fehlerbehebung Überprüfen des Apple-Systemstatus: Bevor wir uns mit komplexen Lösungen befassen, beginnen wir mit den Grundlagen. Das Problem liegt möglicherweise nicht an Ihrem Gerät; die Server von Apple sind möglicherweise ausgefallen. Besuchen Sie die Systemstatusseite von Apple, um zu sehen, ob der AppStore ordnungsgemäß funktioniert. Wenn es ein Problem gibt, können Sie nur warten, bis Apple es behebt. Überprüfen Sie Ihre Internetverbindung: Stellen Sie sicher, dass Sie über eine stabile Internetverbindung verfügen, da das Problem „Verbindung zum AppStore nicht möglich“ manchmal auf eine schlechte Verbindung zurückzuführen ist. Versuchen Sie, zwischen WLAN und mobilen Daten zu wechseln oder die Netzwerkeinstellungen zurückzusetzen (Allgemein > Zurücksetzen > Netzwerkeinstellungen zurücksetzen > Einstellungen). Aktualisieren Sie Ihre iOS-Version:

Unterschiede: 1. Das Head-Tag wird verwendet, um den Kopf des Dokuments zu definieren, der ein Container für alle Head-Elemente ist, und das Header-Tag wird verwendet, um den Header (Einleitungsinformationen) des Dokuments zu definieren. 2. Alle Browser unterstützen das Head-Tag und ältere Versionen von Browsern Keiner der Browser unterstützt das Header-Tag und Browser wie IE9+ und höher müssen das Header-Tag unterstützen.
