-7
나는이 간단한 PHP 파일 업로드 스크립트를 테스트했습니다. 코드 내부에 정의 된 IE를 제외한 모든 브라우저 :(에서 작품 "지원 FILETYPE NOT"파일 업로드가 IE에서 작동하지 않습니다
IE 인쇄 :
if (isset($_POST['add'])) {
$order = $_POST['display_order'];
$img = $HTTP_POST_FILES['imagefile']['name'];
$url = $_POST['url'];
// CONNECT TO DB
mysql_connect(localhost,$username,$password);
@mysql_select_db($database) or die("Unable to select database");
$types = array('image/jpeg', 'image/gif', 'image/png', 'image/tiff', 'image/bmp', 'image/pjpeg');
$target_path = "media/";
$target_path = $target_path . basename($_FILES['imagefile']['name']);
if (in_array($_FILES['imagefile']['type'], $types)) {
if(move_uploaded_file($_FILES['imagefile']['tmp_name'], $target_path)) {
mysql_query(
"INSERT INTO slider_luxury
(display_order, imagefile, url)
VALUES
('$order', '$img', '$url')"
);
header('Location: luxury_slider.php');
} else {
echo "There was an error uploading the slide, please try again!";
}
} else {
echo "FILETYPE NOT SUPPORTED";
}
}
그래서 디버그 문을 추가 참조 실패 어떤 조건을 찾아 비교 : 무엇을 기대하고 시도하는 것은 허용되는 값의 배열에 추가 할 수 있습니다. IE를 사용하여 다른 것을 사용할 때 그 조건에 대한 입력. – Quentin
시도 var_dump ($ _ 파일); 무엇을 얻을 수 있는지 확인하십시오. –
이 데이터로 실제로 무엇을하고 있습니까? 당신은 아마 모든 이미지 타입을 받아 들일 수 있기 때문에'strtolower (substr ($ _ FILES [ 'imagefile'] [ 'type']), 0,6)) == 'image /''를 체크 할 수 있습니다. 브라우저에서 보낸 MIME 유형에 의존하는 것은 문제를 묻는 것입니다. 실제로는 쉽게 스푸핑 될 수 있으므로 아무 것도 말하지 않습니다. 또한 브라우저는 파일 확장자를 사용하여이를 크게 생성합니다.이 확장은 다시 신뢰할 수 없습니다. 이미지가 유효한지 확인하려면 [GD] (http://php.net/manual/en/book.image.php)와 같은 것을 사용해야합니다. – DaveRandom