Maison développement back-end tutoriel php 怎么判断一个文件被客户端成功上载

怎么判断一个文件被客户端成功上载

Jun 13, 2016 pm 12:58 PM
file http nbsp the

如何判断一个文件被客户端成功下载
rt,如何能够确认文件被客户端成功下载?
------解决方案--------------------
一般情况下当输出完头以后就直接将整个文件输出出去
通常用的是 ceho、print 有的干脆用 readfile
这样 php 就没有机会去判断用户是否终止了下载

你需要在循环中用较小的块,通过 sprintf 输出文件内容
springf 函数会返回一个表示输出了多少字符的数。你可以累计这个数,并与文件长度进行比较
从而判断下载是否完成
------解决方案--------------------
基本上是没法判断的。。。
------解决方案--------------------
基于http是没办法做到的。比如服务器返回了2000个字节让你下载保存,这时候你在你在浏览器点了取消按钮,或者下载到一半取消,再或者下载完成,这些个动作只在客户端浏览器执行,并不会将状态通知服务器。
------解决方案--------------------
说的不对,应该说基于浏览器的客户端无法做到,下载保存那些动作是浏览器帮你处理的。
如果说你自己写个客户端,很容易可以判断,计算返回字节数,统计保存成文件的字节数两个一比较就行。
------解决方案--------------------
IE下可使用ActiveX,FireFox下可以使用NPAPI
------解决方案--------------------
一般来讲,要判断文件下载完毕的话需要通过控件来实现。普通的JS是没法判断的。
------解决方案--------------------

引用:
这个要用控件来做。
默认界面

批量下载中

下载中...

下载完毕

强,这个不错。最近我们公司也在做一个OA项目,也要判断文件下载完成的事件,正需要一个这样的HTTP文件下载控件,能否把地址发一下。谢谢。
------解决方案--------------------
引用:
引用:

这个要用控件来做。
默认界面

批量下载中

下载中...

下载完毕

强,这个不错。最近我们公司也在做一个OA项目,也要判断文件下载完成的事件,正需要一个这样的HTTP文件下载控件,能否把地址发一下。谢谢。

这个好像是Xproer.HttpDownloader。可以在网上直接搜到。
------解决方案--------------------
引用:
rt,如何能够确认文件被客户端成功下载?

如果是通过PHP页面下载的话可以在PHP页面中直接判断。如果想在客户端判断的话,需要借助于插件来实现。
------解决方案--------------------
引用:
引用:

引用:

这个要用控件来做。
默认界面

批量下载中

下载中...

下载完毕

强,这个不错。最近我们公司也在做一个OA项目,也要判断文件下载完成的事件,正需要一个这样的HTTP文件下载控件,能否把地址发一下。谢谢。

这个好像是Xproer.HttpDownloader。可以在网上直接搜到。

我们之前给政府做的一个文档管理类的项目也是用的这个控件。感觉不错。整合也简单。
------解决方案--------------------
引用:
说的不对,应该说基于浏览器的客户端无法做到,下载保存那些动作是浏览器帮你处理的。
如果说你自己写个客户端,很容易可以判断,计算返回字节数,统计保存成文件的字节数两个一比较就行。
是吗?是否要给你段代码看看才相信?
------解决方案--------------------
send_file 函数是在网上找的,写的并不好,但他确能保证数据不丢失
在此基础上做了些改动,代码中有注释
send_file('03.bmp',1);//为了测试方便我取了较小的块尺寸<br>
<br>
function send_file($file, $speed = 100) { <br>
      <br>
    //First, see if the file exists    <br>
    if (!is_file($file)) { <br>
         die("<b>404 File not found!</b>"); <br>
     }    <br>
    //Gather relevent info about file <br>
    $filename = basename($file); <br>
    $file_extension = strtolower(substr(strrchr($filename,"."),1)); <br>
    // This will set the Content-Type to the appropriate setting for the file  <div class="clear">
                 
              
              
        
            </div>
Copier après la connexion
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover

AI Clothes Remover

Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
WWE 2K25: Comment déverrouiller tout dans Myrise
3 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

Logiciel d'édition de code au niveau de Dieu (SublimeText3)

Solution : Votre organisation vous demande de modifier votre code PIN Solution : Votre organisation vous demande de modifier votre code PIN Oct 04, 2023 pm 05:45 PM

Le message « Votre organisation vous a demandé de modifier votre code PIN » apparaîtra sur l'écran de connexion. Cela se produit lorsque la limite d'expiration du code PIN est atteinte sur un ordinateur utilisant les paramètres de compte basés sur l'organisation, sur lesquels ils contrôlent les appareils personnels. Cependant, si vous configurez Windows à l'aide d'un compte personnel, le message d'erreur ne devrait idéalement pas apparaître. Même si ce n'est pas toujours le cas. La plupart des utilisateurs qui rencontrent des erreurs déclarent utiliser leur compte personnel. Pourquoi mon organisation me demande-t-elle de modifier mon code PIN sous Windows 11 ? Il est possible que votre compte soit associé à une organisation et votre approche principale devrait être de le vérifier. Contacter votre administrateur de domaine peut vous aider ! De plus, des paramètres de stratégie locale mal configurés ou des clés de registre incorrectes peuvent provoquer des erreurs. Tout de suite

10 façons de régler la luminosité sous Windows 11 10 façons de régler la luminosité sous Windows 11 Dec 18, 2023 pm 02:21 PM

La luminosité de l’écran fait partie intégrante de l’utilisation des appareils informatiques modernes, en particulier lorsque vous regardez l’écran pendant de longues périodes. Il vous aide à réduire la fatigue oculaire, à améliorer la lisibilité et à visualiser le contenu facilement et efficacement. Cependant, en fonction de vos paramètres, il peut parfois être difficile de gérer la luminosité, notamment sous Windows 11 avec les nouvelles modifications de l'interface utilisateur. Si vous rencontrez des difficultés pour régler la luminosité, voici toutes les manières de gérer la luminosité sous Windows 11. Comment modifier la luminosité sous Windows 11 [10 méthodes expliquées] Les utilisateurs d'un seul moniteur peuvent utiliser les méthodes suivantes pour régler la luminosité sous Windows 11. Cela inclut les systèmes de bureau utilisant un seul moniteur ainsi que les ordinateurs portables. Commençons. Méthode 1 : Utiliser le Centre d'action Le Centre d'action est accessible

Comment désactiver l'authentification de navigation privée pour iPhone dans Safari ? Comment désactiver l'authentification de navigation privée pour iPhone dans Safari ? Nov 29, 2023 pm 11:21 PM

Dans iOS 17, Apple a introduit plusieurs nouvelles fonctionnalités de confidentialité et de sécurité dans son système d'exploitation mobile, dont la possibilité d'exiger une authentification à deux facteurs pour les onglets de navigation privée dans Safari. Voici comment cela fonctionne et comment le désactiver. Sur un iPhone ou un iPad exécutant iOS 17 ou iPadOS 17, le navigateur d'Apple nécessite désormais une authentification Face ID/Touch ID ou un mot de passe si un onglet de navigation privée est ouvert dans Safari, puis quittez la session ou l'application pour y accéder à nouveau. En d'autres termes, si quelqu'un met la main sur votre iPhone ou iPad alors qu'il est déverrouillé, il ne pourra toujours pas consulter votre vie privée sans connaître votre mot de passe.

Que signifie le code d'état http 520 ? Que signifie le code d'état http 520 ? Oct 13, 2023 pm 03:11 PM

Le code d'état HTTP 520 signifie que le serveur a rencontré une erreur inconnue lors du traitement de la demande et ne peut pas fournir d'informations plus spécifiques. Utilisé pour indiquer qu'une erreur inconnue s'est produite lorsque le serveur traitait la demande, ce qui peut être dû à des problèmes de configuration du serveur, à des problèmes de réseau ou à d'autres raisons inconnues. Cela est généralement dû à des problèmes de configuration du serveur, des problèmes de réseau, une surcharge du serveur ou des erreurs de codage. Si vous rencontrez une erreur de code d'état 520, il est préférable de contacter l'administrateur du site Web ou l'équipe d'assistance technique pour plus d'informations et d'assistance.

Poésie aléatoire d'application native Hongmeng Poésie aléatoire d'application native Hongmeng Feb 19, 2024 pm 01:36 PM

Pour en savoir plus sur l'open source, veuillez visiter : 51CTO Hongmeng Developer Community https://ost.51cto.com Environnement d'exploitation DAYU200 : 4.0.10.16SDK : 4.0.10.15IDE : 4.0.600 1. Pour créer une application, cliquez sur Fichier- >nouveauFichier->CréerProgect. Sélectionnez le modèle : [OpenHarmony] EmptyAbility : indiquez le nom du projet, shici, le nom du package d'application com.nut.shici et l'emplacement de stockage de l'application XXX (pas de chinois, de caractères spéciaux ou d'espaces). CompileSDK10, modèle : étape. Appareil

Le script d'activation numérique Win10/11 MAS version 2.2 prend à nouveau en charge l'activation numérique Le script d'activation numérique Win10/11 MAS version 2.2 prend à nouveau en charge l'activation numérique Oct 16, 2023 am 08:13 AM

La célèbre version du script d'activation MAS2.2 prend à nouveau en charge l'activation numérique. La méthode provient de @asdcorp et de l'équipe. L'auteur de MAS l'appelle HWID2. Téléchargez collectosstate.exe (non original, modifié) depuis https://github.com/massgravel/Microsoft-Activation-Scripts, exécutez-le avec des paramètres et générez GenuineTicket.xml. Jetez d’abord un œil à la méthode d’origine : rassemblezstate.exePfn=xxxxxxx;DownlevelGenuineState=1, puis comparez-la avec la dernière méthode : rassemblez

Après 2 mois, le robot humanoïde Walker S peut plier les vêtements Après 2 mois, le robot humanoïde Walker S peut plier les vêtements Apr 03, 2024 am 08:01 AM

Rédacteur en chef du Machine Power Report : Wu Xin La version domestique de l'équipe robot humanoïde + grand modèle a accompli pour la première fois la tâche d'exploitation de matériaux flexibles complexes tels que le pliage de vêtements. Avec le dévoilement de Figure01, qui intègre le grand modèle multimodal d'OpenAI, les progrès connexes des pairs nationaux ont attiré l'attention. Hier encore, UBTECH, le « stock numéro un de robots humanoïdes » en Chine, a publié la première démo du robot humanoïde WalkerS, profondément intégré au grand modèle de Baidu Wenxin, présentant de nouvelles fonctionnalités intéressantes. Maintenant, WalkerS, bénéficiant des capacités de grands modèles de Baidu Wenxin, ressemble à ceci. Comme la figure 01, WalkerS ne se déplace pas, mais se tient derrière un bureau pour accomplir une série de tâches. Il peut suivre les commandes humaines et plier les vêtements

Qu'est-ce que le code d'état http 403 ? Qu'est-ce que le code d'état http 403 ? Oct 07, 2023 pm 02:04 PM

Le code d'état HTTP 403 signifie que le serveur a rejeté la demande du client. La solution au code d'état http 403 est la suivante : 1. Vérifiez les informations d'authentification. Si le serveur requiert une authentification, assurez-vous que les informations d'identification correctes sont fournies ; 2. Vérifiez les restrictions d'adresse IP. Si le serveur a restreint l'adresse IP, assurez-vous que les informations d'identification sont correctes. l'adresse IP du client est restreinte. Sur liste blanche ou non sur liste noire ; 3. Vérifiez les paramètres d'autorisation du fichier. Si le code d'état 403 est lié aux paramètres d'autorisation du fichier ou du répertoire, assurez-vous que le client dispose des autorisations suffisantes pour accéder à ces fichiers ou répertoires. etc.

See all articles