2016-07-25 2 views
0

업로드 파일을 확인하려는 라이브 서버에있는 응용 프로그램이 이미지인지 여부. 내 localhost 및 다른 라이브 서버에서 다음 기능은 현재 하나의 서버를 제외하고 작동합니다.PHP의 라이브 서버에서 지원되지 않는 파일 유형 함수

1. mime_content_type($file); 
2. $file_type = exec("file $file"); 
3. $finfo = new finfo(FILEINFO_MIME); 
    $file_type = $finfo->file($_FILES['image']['tmp_name']); 

일부는 더 이상 사용되지 않으며 일부는 보안상의 이유로 비활성화되었습니다. 업로드 파일이 이미지인지 여부를 확인하는 데 사용되는 파일 형식을 얻기위한 다른 방법/기법을 사용할 수 있습니까?

+0

귀하의 서버에서 PHP 버전을 업데이트해야합니다. 'mime_content_type (PHP 4> = 4.3.0, PHP 5, PHP 7)','exec (PHP 4, PHP 5, PHP 7)','finfo (PHP 5> = 5.3.0, PHP 7))'는 해당 버전에서 지원됩니다. 이제 대안을 얻으려면 버전을 업데이트하십시오. 당신은 미래에 많은 문제에 직면하게 될 것입니다. –

+0

@Anant ji, 나는 온라인으로 공유 호스팅을 사용하고 있습니다. 그들은 내 소원처럼 변화를 거부합니다. – tapaljor

+0

오, 그 댐 공유 호스팅. 아래 답변을 확인하십시오. 가까운 미래에 php –

답변

0

getimagesize()을 사용하여 업로드 된 파일이 이미지인지 여부를 확인할 수 있습니다. 이런

사용하여,

$image_info = getimagesize($_FILES['file']['tmp_name']); 
if ($image_info === FALSE) { 
    die("Uploaded file is not an image."); 
} 

getimagesize() 함수는 주어진 이미지 파일의 크기를 결정하고, 파일 유형 및 높이/폭 텍스트와 함께 측정을 반환 일반 HTML IMG 태그 내에서 사용할 문자열 및 해당 HTTP 내용 유형

업로드 된 파일은 이미지가 아닐 경우 FALSE을 반환합니다.

+0

의 새로운 버전에서 비추천 라이브러리로 인해 쿼리 실행 등의 문제에 직면하게 될 것이기 때문에 다른 호스팅을 전환하십시오. Patel ji. 도움이되었습니다. 이제 내 앱을 좀 더 안전하게 유지할 수 있습니다. – tapaljor

+0

당신은 환영합니다 :) –

관련 문제