簡體   English   中英

PHP-為加載腳本預加載“請稍候”消息

[英]PHP - Preloading a “please wait” message for an upload script

我設計了一個有效的PHP上傳腳本,用於通過POST命令和FTP將文件存儲在服務器上。 它工作得很好-唯一的問題是我花了點時間弄清楚如何在文件上傳時顯示“請稍候”消息。 我嘗試在腳本上方添加HTML,但僅在文件已上傳(或發生錯誤)之后顯示文本。 唯一可行的方法是使用onClick html表單設置添加Javascript彈出窗口...但這確實不理想,而且恐怕使用該腳本的人可能會因彈出窗口而感到困惑。並嘗試在POST / FTP進程仍在進行時從主窗口導航。

我對PHP還是比較陌生,我覺得有一個明顯的解決方案……不幸的是,到目前為止,我似乎找不到任何解決方案。 有任何想法嗎? 請原諒我的無知! :)

謝謝-

您需要在客戶端執行此操作。 在上傳完整文件之前,不會調用PHP解釋器。 因此,如果您有一個2mb的文件,則在通過請求將其完全發送並保存到臨時文件之前,腳本不會啟動。

我建議您使用一些JavaScript來監視您表單的提交以顯示您的消息。 使用jquery這樣的事情:

$('form').on('submit', function() {
  $('#loading').show();
});

如果您使用的是PHP 5.4,則可以嘗試添加新文件的上傳進度。 這是一篇很好的文章:

http://chemicaloliver.net/programming/php-5-4-file-upload-progress-and-html5-progress-bars/

對於PHP 5.4,現在內置了會話上傳進度功能。它最初是在php 5.3中修補的。 這是它的手冊http://php.net/manual/zh/session.upload-progress.php

如果session.upload_progress.enabled為true(在PHP 5.4中默認是默認值,並且可能在更高版本中)並且在上載期間發送了$ _POST [session.upload_progress.name],則有關文件傳輸的信息將在$ _SESSION超級全局變量中提供。數組。

這是一個很好的教程,使用$ _SESSION超全局變量和javascript渲染進度條以上傳文件: http : //phpmaster.com/tracking-upload-progress-with-php-and-javascript/

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM