php不具備實(shí)時上傳進(jìn)度條功能,如果想有這種功能我們一般會使用ajax來實(shí)現(xiàn),但是php提供了一個apc,它就可以與php配置實(shí)現(xiàn)上傳進(jìn)度條功能。
主要針對的是window上的應(yīng)用。
1.服務(wù)器要支持apc擴(kuò)展,沒有此擴(kuò)展的話,下載一個擴(kuò)展擴(kuò)展要求php.5.2以上。
2.配置apc相關(guān)配置,重啟apache
代碼如下
extension=php_apc.dll
apc.rfc1867 = on
apc.max_file_size = 1000M
upload_max_filesize = 1000M
post_max_size = 1000M
說明一下:至于參數(shù)要配多大,得看項(xiàng)目需要apc.max_file_size, 設(shè)置apc所支持上傳文件的大小,要求apc.max_file_size<=upload_max_filesize 并且apc.max_file_size <=post_max_size.重新啟動apache即可實(shí)現(xiàn)apc的支持.
3.在代碼里面利用phpinfo();查看apc擴(kuò)展安裝了沒有。
4.下面是實(shí)現(xiàn)代碼:
getprogress.php
代碼如下
- <?php
- session_start();
- if(isset($_GET['progress_key'])) {
- $status = apc_fetch('upload_'.$_GET['progress_key']);
- echo ($status['current']/$status['total'])*100;
- }
- ?>
- upload.php
- PHP Code
- <?php
- $id = $_GET['id'];
- ?>
- <form enctype="multipart/form-data" id="upload_form" action="target.php" method="POST">
- <input type="hidden" name="APC_UPLOAD_PROGRESS"
- id="progress_key" value="<?php echo $id?>"/>
- <input type="file" id="test_file" name="test_file"/><br/>
- <input onclick="window.parent.startProgress(); return true;"
- type="submit" value="上傳"/>
- </form>
新聞熱點(diǎn)
疑難解答