{"id":22,"date":"2012-07-31T13:52:22","date_gmt":"2012-07-31T05:52:22","guid":{"rendered":"http:\/\/blog.feizhaojun.com\/?p=22"},"modified":"2013-01-05T12:01:56","modified_gmt":"2013-01-05T04:01:56","slug":"php5-4%e6%94%af%e6%8c%81%e6%96%87%e4%bb%b6%e4%b8%8a%e4%bc%a0%e8%bf%9b%e5%ba%a6%e6%9d%a1upload-progress-in-sessions","status":"publish","type":"post","link":"https:\/\/feizhaojun.com\/?p=22","title":{"rendered":"PHP5.4\u652f\u6301\u6587\u4ef6\u4e0a\u4f20\u8fdb\u5ea6\u6761(Upload progress in sessions)"},"content":{"rendered":"<p>PHP5.4\u4ee5\u4e0a\u7248\u672c\uff0c$_SESSION\u4e2d\u5185\u7f6e\u4e86Upload progress\uff0c\u53ef\u4ee5\u652f\u6301\u6587\u4ef6\u4e0a\u4f20\u8fdb\u5ea6\u3002<\/p>\n<p>\u65b9\u6cd5\u548capc\u6269\u5c55\uff08\u53c2\u8003\uff1ahttp:\/\/blog.feizhaojun.com\/?p=22\uff09\u5dee\u4e0d\u591a\uff0c\u53ea\u4e0d\u8fc7\u8fd9\u91cc\u4e0d\u7528\u5230\u6269\u5c55\u800c\u662f\u7528\u5230\u4e86php5.4\u5185\u7f6e\u7684$_SESSION\u3002<\/p>\n<p>\u4ee5\u4e0b\u662f\u4e00\u4e2a\u793a\u4f8b\uff0c\u6d4b\u8bd5\u901a\u8fc7\uff1a<\/p>\n<p>\u9996\u5148\uff0c\u793a\u4f8b\u4e2d\u5f15\u7528\u4e86jQuery.js\uff0c\u5927\u5bb6\u4e0d\u8981\u5fd8\u4e86\uff0c\u53e6\u5916\u9700\u8981\u65b0\u5efa\u4e00\u4e2aup\u7684\u76ee\u5f55\uff0c\u5b58\u50a8\u4e0a\u4f20\u6587\u4ef6\u3002<\/p>\n<p>\u6587\u4ef61\uff1aindex.php<\/p>\n<p>[php]<\/p>\n<p>&lt;?php<br \/>\nheader(\"Content-type: text\/html; charset=utf-8\");<br \/>\nsession_start();<br \/>\n$id = uniqid(\"\");<br \/>\n?&gt;<br \/>\n&lt;html&gt;<br \/>\n&lt;head&gt;<br \/>\n&lt;title&gt;Upload Example&lt;\/title&gt;<br \/>\n&lt;script src=\"jquery.js\" type=\"text\/javascript\"&gt;&lt;\/script&gt;<br \/>\n&lt;script type=\"text\/javascript\"&gt;<br \/>\nfunction getProgress(get_id){<br \/>\n$.get(\"getprogress.php?progress_key=&lt;?php echo $id; ?&gt;&amp;get_id=\"+get_id,<br \/>\nfunction(result){<br \/>\n$(\"#progress\").css({\"width\":parseInt(5*result)});<br \/>\n$(\"#percent\").html(result+\"%\");<br \/>\nif (result &lt; 100){<br \/>\nsetTimeout(\"getProgress(\"+result+\")\",20);<br \/>\n}else{<br \/>\n$(\"#percent\").html(result);<br \/>\n}<br \/>\n}<br \/>\n);<br \/>\n}<\/p>\n<p>function startProgress(){<br \/>\n$(\"#progress_bar\").css({\"display\":\"block\"});<br \/>\n\/\/$(\"#theframe\").css({\"display\":\"none\"});<br \/>\nsetTimeout(\"getProgress()\",20);<br \/>\n}<br \/>\n&lt;\/script&gt;<br \/>\n&lt;\/head&gt;<br \/>\n&lt;body&gt;<br \/>\n&lt;div id=\"percent\"&gt;&lt;\/div&gt;<br \/>\n&lt;div id=\"progress_bar\" style=\"width: 500px; height: 5px; border: 1px solid #e0e0e0;display:none;font-size:0;\"&gt;<br \/>\n&lt;div id=\"progress\" style=\"position: relative; height: 5px; background-color: #0088ff; width: 0%; \"&gt;&lt;\/div&gt;<br \/>\n&lt;\/div&gt;<br \/>\n&lt;iframe id=\"theframe\" name=\"theframe\" src=\"upload.php?id=&lt;?php echo($id) ?&gt;\" style=\"border: none; height: 200px; width: 100%;\" &gt;&lt;\/iframe&gt;<br \/>\n&lt;\/body&gt;<br \/>\n&lt;\/html&gt;<\/p>\n<p>[\/php]<\/p>\n<p>&nbsp;<\/p>\n<p>\u6587\u4ef62\uff1aupload.php<\/p>\n<p>[php]<\/p>\n<p>&lt;?php<br \/>\nheader(\"Content-type: text\/html; charset=utf-8\");<br \/>\nsession_start();<br \/>\nif(isset($_GET['id'])){$id=$_GET['id'];}<br \/>\n?&gt;<br \/>\n&lt;html&gt;<br \/>\n&lt;body&gt;<br \/>\n&lt;?php<br \/>\nif($_SERVER['REQUEST_METHOD']=='POST') {<br \/>\nfor($i=1;$i&lt;2;$i++){<br \/>\nmove_uploaded_file($_FILES[\"test_file\".$i][\"tmp_name\"],\"up\/\".time().\"_\".iconv(\"UTF-8\",\"gb2312\",$_FILES[\"test_file\".$i][\"name\"]));<br \/>\necho \"&lt;p&gt;\\\"\".$_FILES[\"test_file\".$i][\"name\"].\"\\\" upload successful!&lt;\/p&gt;\";<br \/>\n}<br \/>\n}else{<br \/>\n?&gt;<br \/>\n&lt;form enctype=\"multipart\/form-data\" id=\"upload_form\" action=\"upload.php\" method=\"POST\"&gt;<br \/>\n&lt;input type=\"hidden\" name=\"&lt;?php echo ini_get(\"session.upload_progress.name\"); ?&gt;\" id=\"progress_key\"\u00a0 value=\"&lt;?php echo $id; ?&gt;\" \/&gt;<br \/>\n&lt;?php for($i=1;$i&lt;2;$i++){ ?&gt;<br \/>\n&lt;input type=\"file\" id=\"test_file&lt;?php echo $i; ?&gt;\" name=\"test_file&lt;?php echo $i; ?&gt;\"\/&gt;&lt;br\/&gt;<br \/>\n&lt;?php } ?&gt;<br \/>\n&lt;input onclick=\"window.parent.startProgress(); return true;\" type=\"submit\" value=\"Upload!\"\/&gt;<br \/>\n&lt;\/form&gt;<br \/>\n&lt;?php<br \/>\n}<br \/>\n?&gt;<br \/>\n&lt;\/body&gt;<br \/>\n&lt;\/html&gt;<\/p>\n<p>[\/php]<\/p>\n<p>&nbsp;<\/p>\n<p>\u6587\u4ef63\uff1agetprogress.php<\/p>\n<p>[php]<\/p>\n<p>&lt;?php<br \/>\nheader(\"Content-type: text\/html; charset=utf-8\");<br \/>\nsession_start();<br \/>\n\/\/print_r($_SESSION[\"upload_progress_\".$_GET['progress_key']]);<br \/>\nif(isset($_GET['progress_key'])){<br \/>\n$status = $_SESSION[\"upload_progress_\".$_GET['progress_key']];<br \/>\n\/\/print_r($status);<br \/>\nif($status[\"done\"]){<br \/>\necho 100;<br \/>\n}else{<br \/>\necho number_format($status['bytes_processed']\/$status['content_length']*100, 2, '.','');<br \/>\n}<br \/>\n}<br \/>\n?&gt;<\/p>\n<p>[\/php]<\/p>\n<p>&nbsp;<\/p>\n","protected":false},"excerpt":{"rendered":"<p>PHP5.4\u4ee5\u4e0a\u7248\u672c\uff0c$_SESSION\u4e2d\u5185\u7f6e\u4e86Upload progress\uff0c\u53ef\u4ee5\u652f\u6301\u6587\u4ef6\u4e0a\u4f20\u8fdb\u5ea6\u3002 \u65b9\u6cd5\u548capc\u6269\u5c55&#8230;<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"jetpack_post_was_ever_published":false,"_jetpack_newsletter_access":"","_jetpack_dont_email_post_to_subs":false,"_jetpack_newsletter_tier_id":0,"_jetpack_memberships_contains_paywalled_content":false,"_jetpack_memberships_contains_paid_content":false,"footnotes":""},"categories":[6],"tags":[],"class_list":["post-22","post","type-post","status-publish","format-standard","hentry","category-php"],"jetpack_sharing_enabled":true,"jetpack_featured_media_url":"","_links":{"self":[{"href":"https:\/\/feizhaojun.com\/index.php?rest_route=\/wp\/v2\/posts\/22","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/feizhaojun.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/feizhaojun.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/feizhaojun.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/feizhaojun.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=22"}],"version-history":[{"count":7,"href":"https:\/\/feizhaojun.com\/index.php?rest_route=\/wp\/v2\/posts\/22\/revisions"}],"predecessor-version":[{"id":115,"href":"https:\/\/feizhaojun.com\/index.php?rest_route=\/wp\/v2\/posts\/22\/revisions\/115"}],"wp:attachment":[{"href":"https:\/\/feizhaojun.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=22"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/feizhaojun.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=22"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/feizhaojun.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=22"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}