[英]File upload not working in IE, but works in FF, Chrome, and Safari
我很沮喪 我創建了一個上載圖像的過程,該過程可以在除Internet Explorer之外的所有瀏覽器中使用。 我沒有檢查IE7,但IE8似乎沒有檢查文件擴展名。 我不斷收到錯誤消息:“您必須上傳jpg,gif,bmp。”
/* image uploading */
$target_path = "img/";
$image = $_FILES['crebusimage'];
$image['name'] = mysql_real_escape_string($image['name']);
$target_path .= $crebustime."_".$image['name'];
$valid_types = array("image/jpg", "image/jpeg", "image/bmp", "image/gif", "image/jpe", "image/jfif", "image/png");
$field = 'crebusimage';
if(strlen($image['name']) == 0){
$form->setError($field, "*please choose an image");
}elseif(!in_array($image['type'], $valid_types)){
$form->setError($field, "*You must upload a jpg, gif, or bmp");
}else{
$busimg = $crebustime."_".$image['name'];
move_uploaded_file($image['tmp_name'], $target_path);
}
<td><b>Business Logo<br />(100Kb or less 100x100px)</b></td>
<td><input type="file" name="crebusimage" value="1"></td>
<td><input type="hidden" name="MAX_FILE_SIZE" value="100000" /></td>
<td><?php echo $form->error('crebusimage'); ?></tD>
我該如何使該東西在邪惡的IE中起作用...
如果您要上載jpeg,它們通常會與IE中的mimetype image / pjpeg一起發送。
具體來說,我在csv文件中遇到了此問題。 Windows計算機會根據您打開csv文件所安裝的內容為您提供不同的模仿類型。 / endgripe;)
通過執行以下操作,查看您在$ _FILES數組中得到的內容:
echo '<pre>';
print_r($_FILES);
echo '</pre>';
並使用getimagesize來確定圖像類型,因為@Juddling正確指出了mime類型可以被欺騙。
您應該檢查文件擴展名,而不是檢查與圖像一起發送的標題。 IE可能不會發送這些郵件,因為它們可能是偽造的。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.