이 기사는 주로 PHP 업로드 파일에 대한 심층 분석을 공유합니다. 또한 이전에도 PHP 업로드 파일에 대한 많은 기사를 공유했습니다. 이 기사가 도움이 되기를 바랍니다.
1.php파일 구성 업로드 php.ini구성:
(1)file_uploads=on|off:Con 서버에 확고한 PHP 스크립트가 파일 업로드를 허용할 수 있는지 여부입니다.
(2) max_execution_time=integer : 치명적인 오류를 등록하기 전에 스크립트가 실행될 수 있는 최대 시간(초)입니다. (
3)
memory_limit=integer: 스크립트가 할당할 수 있는 최대 메모리를 MB 단위로 설정합니다. 이렇게 하면 런어웨이 스크립트가 서버 메모리를 독점하는 것을 방지할 수 있습니다. (4)
upload_max_filesize=integer: 최대 업로드 파일 크기를
MB단위로 설정하세요. 이 지시문은 post_max_size보다 작아야 합니다 . (
5)upload_tmp_dir=string :
업로드된 파일을 처리하기 전에 서버의 임시 위치에 저장해야 한다고 설정하고, 파일이 다음 위치로 이동될 때까지최종 목적지. (6)
post_max_size=integer:
POST 메소드를 통해 허용할 수 있는 메시지의 최대 크기를 MB 단위로 결정합니다. 유닛 2.php관련 메소드 업로드 (1)bool is_uploaded_file(string $filename) 정의: is_uploaded_file() 함수는 지정된 파일이 전달되는지 여부를 결정합니다. HTTP POST 업로드됨 매개변수 $filename : $_FILES['file_img']['tmp_name'](예:) 확인할 파일을 지정합니다. C:WindowsTempphp9 632.tmp (2)bool move_uploaded_file ( string $filename , string $destination ) 정의: move_uploaded_file () 기능은 이동 파일을 새 위치로 업로드합니다 일반 is_uploaded+_file() 메소드 매개변수 $filename: $_FILES['file_img']['tmp_name'](예:) 은 다음을 지정합니다. 이동할 파일 : C:WindowsTempphp9632.tmp .DS.'uploads'.DS.$_FILES['file_img']['name'] (예) 이동할 파일 위치 지정: D:myWAPmyWeblearnphp_uploaduploadshm_g_img.jpg3.php업로드 사례: 이미지 파일만 업로드할 수 있도록 지정 ( ) 필요한 폴더 및 파일 (2)file_unload_select.php 파일 HTML선택 항목 찾아보기, 업로드 클릭: enctype = "multipart/form - 데이터" 不 고정됨 그렇지 않으면 파일 업로드가 실패합니다 action = "url" method = "post" 일반적인 업로드는 post (3 ) upload.php 파일은 업로드된 파일을 처리하는 데 사용됩니다. 업로드 파일 형식을 결정하고 및 파일을 서버의 지정된 디렉터리로 이동합니다:
1//接收上传文件
print_r($_FILES);
define('DS',DIRECTORY_SEPARATOR);
//判断当前上传的文件是否为图片
$img_type_arr = array('image/png','image/jpeg','image/jpeg');
//for循环遍历数组 -- 第一方法判断是否为数组中的子项
for($i=0;$i<count($img_type_arr);$i++)
{
if($img_type_arr[$i] != $_FILES['file_img']['type'] && ($i == count($img_type_arr)-1) )
{
echo ""
exit;
}
}
//数组方法array_in() -- 第二方法判断是否为数组中的子项
if(!is_uploaded_file($_FILES['file_img']['tmp_name']))
{
//如果临时文件不存在,则说明没有上传到临时文件夹
echo '上传到临时文件夹失败';
}
else
{
//echo '上传到临时文件夹成功';
$img_path = dirname(__FILE__).DS.'uploads'.DS.$_FILES['file_img']['name'];
//echo $img_path;
//进行移动文件到服务器地址
if(@move_uploaded_file($_FILES['file_img']['tmp_name'],$img_path))
{
//显示图片
echo "<img src=".$img_path." />"
}
else
{
cho '移动文件失败';
}
}
(4 ) show_image .php 은 이미지 파일 경로를 받아 성공적으로 업로드된 이미지를 표시하는 데 사용됩니다.
$img_path = $_GET['url']; echo "";
(5) 업로드의 핵심은 $의 하위 매개변수를 사용하는 것입니다. _FILES 업로드 및 판단 완료 :
Array ( [file_img] => Array ( [name] => news_001_01.jpg [type] => image/jpeg [tmp_name] => C:\Windows\Temp\php504D.tmp [error] => 0 [size] => 158360 ) )
분석:
$_FILES['file_img']['name'] : news_001_01.jpg 업로드 파일 이름
$_FILES ['file_img']['type' ] : Image/jpeg 업로드된 파일의 종류
$_FILES['file_img']['tmp_name'] : C:WindowsTempphp504D.tmp 파일의 저장 경로 업로드된 파일의 임시 파일
$_FILES[' file_img']['error '] : 0 , 1, 2, 3, 4
0 -> 파일 업로드가 성공했음을 나타냅니다.
1 - 업로드된 파일의 크기가 합의된 값을 초과했음을 나타냅니다(PHP.ini 지정)
2 -> 은 업로드된 파일의 크기가 합의된 값(HTML 양식에 지정된 값)을 초과한다는 의미입니다.
3 -> 은 파일이 부분적으로만 업로드되었음을 의미합니다.
4 -> 은 모든 파일이 업로드되지 않았음을 의미합니다.
관련 권장 사항:
네이티브 JS 업로드 대용량 파일 표시 진행률 표시줄 php 업로드 파일 코드
php 업로드 파일 코드 구현 네이티브 JS 업로드 대용량 파일 표시 진행 바 예시
위 내용은 PHP 업로드 파일에 대한 심층 분석의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!