2017年2月24日 星期五
PHP搭配IE 瀏覽器無法接收上傳檔案
上傳網頁檔:upload.php
接收網頁檔:receive.php
upload.php
完整 html 程式碼就不附了。form 表單元素如下:
<form id="form-main" method="POST" action="receive.php" target="_blank" accept-charset="UTF-8" enctype="multipart/form-data">
從程式碼可以看到,我是要 post 到另一頁,使用 target="_blank" 這個屬性開新頁。
receive.php
<?php
if(!empty($_FILES)){
echo "<pre>".print_r($_FILES, 1)."</pre>";
}
?>
在其它瀏覽器都正常,firefox, chrome, edge, 但只有 ie 無法讀取內容。
正常情況
Array
(
[uploadFile] => Array
(
[name] => test.txt
[type] => text/plain
[tmp_name] => D:\xampp\tmp\php8B98.tmp
[error] => 0
[size] => 10
)
)
IE瀏覽器:
Array
(
[uploadFile] => Array
(
[name] => test.txt
[type] => text/plain
[tmp_name] => D:\xampp\tmp\phpB1D7.tmp
[error] => 0
[size] => 0
)
)
雖然可以看到 $_FILES 的確有接收到檔案,但是 size 大小卻是 0。使用 fgetcsv() 及 file_get_contents() 讀出來的內容都是空的。
後來發現,把網域加到 IE 的信任網站就可以了:
IE > 網際網路選項 > 安全性 > 信任網站
我把我的測試站台 testsite.local 加進去就可以看到內容。
網站架設
訂閱:
張貼留言 (Atom)
沒有留言:
張貼留言