PHP 파일을 업로드하는 단계
파일 업로드 단계
PHP를 더 잘 배우기 위해 매우 복잡한 PHP 파일 업로드 단계를 6단계로 요약했습니다.
실제 사용 시 다음 6단계를 따르면 PHP 파일 업로드를 성공적으로 완료할 수 있습니다.
1. 오류 코드가 있는지 확인
시스템에서 반환된 오류 코드에 대한 자세한 설명:
错误码 | 说明 |
---|---|
0 | 无误,可以继续进行文件上传的后续操作。 |
1 | 超出上传文件的最大限制,upload_max_filesize = 2M php.ini中设置,一般默认为2M。可根据项目中的实际需要来修改 |
2 | 超出了指定的文件大小,根据项目的业务需求指定上传文件的大小限制 |
3 | 只有部分文件被上传 |
4 | 文件没有被上传 |
6 | 找不到临时文件夹,可能目录不存在或没权限 |
7 | 文件写入失败,可能磁盘满了或没有权限 |
참고: 오류 코드에는 5가 없습니다.
2. 파일 크기가 범위를 초과하는지 여부를 맞춤 판단합니다
업로드 기능 개발 시. 개발자로서 우리는 php.ini에 지정된 최대 업로드 값 외에도
우리는 일반적으로 기업에서 지정한 업로드 크기 제한인 값도 설정합니다.
예:
시나 웨이보나 QQ Zone에서는 2M의 아바타 사진 한 장만 허용됩니다. 앨범 업로드 시 2M 이상 업로드 가능합니다.
따라서 해당 시스템은 더 큰 파일 업로드를 지원합니다.
여기서 판단된 파일 크기는 실제 비즈니스에서 지정하려는 업로드 파일 크기를 제한하는 데 사용됩니다.
3. 접미사 이름과 MIME 유형이 일치하는지 확인
온라인 세상에도 나쁜 사람이 있습니다. 그들은 사진에 바이러스를 삽입하고, 첨부 파일에 바이러스를 업로드하며, 웹 페이지에 바이러스나 포르노 사진을 삽입합니다.
업로드된 파일의 접미사 및 MIME 유형을 판단해야 합니다.
MIME(Multi Purpose Internet Mail Extensions)은 다목적 인터넷 메일 확장자 유형입니다. 특정 확장자를 가진 파일을 애플리케이션에서 열도록 설정하는 방식입니다. 확장자를 가진 파일에 접근하면 브라우저가 자동으로 지정된 애플리케이션을 사용하여 해당 파일을 엽니다. 주로 일부 클라이언트 정의 파일 이름과 일부 미디어 파일 열기 방법을 지정하는 데 사용됩니다.
접미사와 MIME 유형을 결정할 때 두 개의 매개변수를 전달하는 PHP 함수 in_array()를 사용합니다.
첫 번째 매개변수는 판단할 값이고,
두 번째 매개변수는 범위 배열입니다.
이 기능을 사용하여 파일 확장자와 MIME 유형이 허용 범위 내에 있는지 확인합니다.
4. 파일 이름 생성
파일이 성공적으로 업로드되었지만 원본 이름은 저장되지 않습니다.
원래 이름에 민감한 키워드를 포함하는 일부 사람들은 우리나라 관련 법규를 위반하게 되기 때문입니다.
date(), mt_rand() 또는 Unique()를 사용하여 임의의 파일 이름을 생성할 수 있습니다.
5. 파일 업로드 여부 확인
파일이 성공적으로 업로드되면 시스템은 업로드된 임시 파일을 시스템의 임시 디렉터리에 업로드합니다. 임시 파일을 만듭니다.
임시 파일명도 생성됩니다. 우리가 해야 할 일은 임시 파일을 시스템의 지정된 디렉터리로 이동하는 것입니다.
움직이기 전에 무작정 움직이지 않거나, 잘못 움직이는 것은 비과학적입니다. 이동하기 전에 업로드된 파일이 임시 파일인지 확인하기 위해 관련 기능을 사용해야 합니다.
is_uploaded_file()은 전달된 이름이 업로드된 파일인지 확인하기 위해 매개변수($_FILES에 캐시된 파일 이름)를 전달합니다.
6. 임시 파일을 지정된 위치로 이동
임시 파일은 실제 임시 파일이므로 웹사이트 디렉터리로 이동해야 합니다.
우리 웹사이트 디렉토리의 데이터를 다른 사람들이 접근할 수 있도록 하십시오.
우리는 move_uploaded_file()을 사용합니다.
업로드된 파일을 지정된 위치로 이동하고 이름을 지정하는 기능입니다.
두 개의 매개변수를 전달합니다.
첫 번째 매개변수는 이동할 업로드된 파일입니다.
두 번째 매개변수는 지정된 폴더와 이름을 연결하는 문자열입니다.