웹 사이트에 PHP를 사용하고 있습니다. 나는 사용자가 그들의 사진을 업로드하도록해야한다. 사진은 jpeg 또는 png 또는 gif 형식 일 수 있습니다. 내 문제는 고유 한 사용자 ID로 사용자를 식별하므로 사진을 저장하려면 userid.jpg 또는 userid.png 등입니다. 이제 사용자가 선택한 파일의 확장명을 어떻게 알 수 있습니까? PHP를 사용하여?PHP를 사용하여 업로드하는 파일의 확장자를 찾으십시오.
답변
나는 않을 것 방문자가 제공 한 파일 확장자에 의존합니다. 대신 파일 자체에 무엇이 있는지 물어보십시오 (여전히 스푸핑 될 수는 있지만 그 가능성은 적고 확장자가 3 또는 4 문자 (예 : jpg, jpg)인지 궁금 할 필요가 없습니다). 시도해보십시오.
if ($_FILES['avatar']['type'] == "image/gif")
if ($_FILES['avatar']['type'] == "image/jpeg")
if ($_FILES['avatar']['type'] == "image/png")
훨씬 더 신뢰할 수 있습니다.
$filename = "harbl.jpg";
$fileinfo = pathinfo ($filename);
echo($fileinfo['extension']); // prints "jpg"
당신은
$info = pathinfo($_FILES['foo']['name']);
$extension = $info['extension'];
array_pop(explode(".", $_FILES["image"]["name"]))
또는
을 할 수있는 당신이<input type="file" name="foo">
이 가정
pathinfo($_FILES["image"]["name"], PATHINFO_EXTENSION)
대신 클라이언트에서 보낸 확장에 의존, 당신은 또한 fileinfo을 사용하여 파일 형식을 확인할 수 있습니다 (PHP> = 5.3), 또는 당신은 mime_content_type
, 그것은 ('이미지/PNG로'=> 'PNG'처럼) 매핑 단지 문제
(실제로는 보안상의 이유로 더 나은되어야한다 내가 정확히 기억한다면 , $ _FILES [ '...'] [ 'type']은 클라이언트에 의해 전송되어 위장 될 수 있습니다.
잘 업데이트 된 서버를 실행중인 경우 위 PHP 5.3, 당신은 새로운 File Information 확장을 조사해야합니다. 파일 자체를 살펴보고 확장자를 가져올 수있는 MIME 유형을 결정합니다. 브라우저에서 제공하는 확장 또는 마임 유형을 보는 것보다 신뢰할 수 있습니다. 두 가지 모두 가짜 일 수 있기 때문입니다.
이상적인 솔루션은 효과를 극대화하기 위해 이러한 모든 방법을 조합하여 사용할 수 있습니다.
저는 최근에 빌드 한 응용 프로그램에서 Array를 사용했습니다. 그리고 그것은 아주 잘 작동합니다.
$file_type = array('image/gif' => 'gif',
'image/jpeg' => 'jpg',
'image/pjpeg' => 'jpg',
'image/bmp' => 'jpg',
'image/png' => 'png');
if(array_key_exists(($_FILES['file_upload']['type']), $file_type){
Your Function
}
$extension = end(explode(".",$_FILES['foo']['name']));
하이
You can check the image type easily in php.For example, you may have
<input type="file" name="image">
$img_name=$_FILES["image"]["name"]; //name of the image
$img_tmpname=$_FILES["image"]["tmp_name"]; //temporary name
$len=strlen($img_name); //length of image name
$dot=strpos($img_name,"."); //finding position of .
$type=substr($img_name,$dot,$len); //finding string from . to end of string.
Then use if statement and check the file
경우 ($ 타입 == '. GIF'|| $ 유형 == '. JPG'|| $ 유형 == '. JPEG'|| PNG '|| $ type =='. JPEG ') $ type =='. {
// 귀하의 코드 ............. }
- 1. php를 사용하여 상위 디렉토리에 파일을 업로드하는 방법
- 2. PHP를 사용하여 웹 사이트를 호스팅하는 사람을 찾으십시오.
- 3. 자바를 사용하여 wma 파일의 MIME 유형을 찾으십시오.
- 4. 바자와 파일의 특정 변경을 찾으십시오.
- 5. 두 HTML 파일의 차이점을 찾으십시오.
- 6. PHP를 사용하여 파일의 소스 가져 오기
- 7. PHP를 사용하여 .jpg 파일의 다운로드 링크 만들기
- 8. PHP를 사용하여 플랫 파일의 값을 찾고 바꾸기
- 9. PHP를 사용하여 PHP 파일의 정보를 분석 하시겠습니까?
- 10. 어떻게 PHP를 사용하여 파일의 공개 다운로드를 방지합니까?
- 11. 자바 스크립트를 사용하여 쿠키 파일의 확장자를 변경할 수 있습니까?
- 12. PHP를 사용하여 플래시에서 이미지를 업로드하는 것이 더 구체적입니다. HTTP_RAW_POST_DATA?
- 13. PHP를 사용하여 MySQL 데이터베이스에 Excel 또는 CSV를 업로드하는 방법은 무엇입니까?
- 14. PHP를 사용하여 HTML 사이에 구문 또는 단어를 찾으십시오
- 15. PHP를 사용하여 "enddate-"로 시작하는 클래스의 모든 요소를 찾으십시오.
- 16. 파이썬에서 특정 확장자를 가진 파일의 수를 계산하십시오.
- 17. [HTML/PHP] : .html 파일의 확장자를 변경해야합니까?
- 18. 쉘 스크립트에서 파일의 확장자를 얻는 방법
- 19. PHP를 통해 파일을 업로드하는 중 오류가 발생했습니다.
- 20. PHP를 통해 MySQL 쿼리를 실행할 시간을 찾으십시오.
- 21. perl을 사용하여 AIFF 오디오 파일의 실행 시간을 찾으십시오.
- 22. UNIX를 사용하여 파일 확장자를 찾는 방법은 무엇입니까?
- 23. PHP를 사용하여 동영상 업로드
- 24. firefox 확장자를 사용하여 URL 차단하기
- 25. 파일의 내용을 UITextView에 업로드하는 방법은 무엇입니까?
- 26. 열린 파일의 확장자를 기준으로 Emacs 색상 테마를 변경하십시오.
- 27. Vim에서 하나의 파일 확장자를 다른 파일과 연결하기
- 28. Eclipse를 사용하여 배포 PHP PHP를 사용하여 배포
- 29. PHP를 사용하여 MsWord doc 파일의 태그를 대체하는 방법
- 30. 어디에서 php를 사용하여 wordPress에서 CSS 파일의 위치를 설정할 수 있습니까?
아니요! 이 작업을 수행하는 데 매우주의하십시오. 확장자가 관련 유형 (gif/jpg/png)인지 확인하고 실행 파일 (.php 등)이 아닌지 확인하십시오. –
사실, 나는 회고 적으로 동의한다. – Gav