우리가 일반적으로 업로드하는 파일은 /tmp 등의 임시 폴더에 저장되지만 임시 폴더의 내용은 일정 시간이 지나면 삭제되므로 향후 업로드한 파일을 사용하려면 해당 내용을 정리해야 합니다. 임의로 삭제될 가능성이 없는 위치에 저장되어 있는 경우 전용 디렉터리에서는 move_uploaded_file 함수를 이용하여 클라이언트가 업로드를 요청한 파일의 저장 위치를 변경할 수 있습니다.
move_uploaded_file 함수
를 작성하는 방법을 살펴보겠습니다. 먼저 첫 번째 매개변수로 이동하기 전 경로를 지정해야 합니다.
기본적으로 $_FILES['항목 이름']['tmp_name']을 지정합니다.
$ _FILES ['항목 이름']은 파일 정보를 나타내고, '[tmp_name']은 임시 폴더에 저장된 파일의 경로를 나타냅니다.
두 번째 매개변수는 대상 경로를 지정합니다.
파일명을 포함한 전체 경로를 지정해야 하므로 기존 파일명을 복사하지 않도록 주의하세요.
연관배열의 값은 예시를 위한 임시값 역할을 하며 실제로 환경에 따라 변경됩니다.
Array( [name] => test.csv [type] => text/plain [tmp_name] => /tmp/php5dkdaFd [error] => 0 [size] => 123 )
실제로 작성해 봅시다
아래 코드는 upload_csv라는 프로젝트 이름을 사용하여 csv 파일을 업로드한다고 가정합니다.
또한 저장 대상은 "/var/www/files/"이고 파일명은 현재 날짜와 시간을 기준으로 한 임의의 문자열입니다.
// 保存文件 $storeDir = '/var/www/files/'; // 在上传文件的时候,因为要指定基本的post,所以要检查是否指定了其他的值 if ($_SERVER['REQUEST_METHOD'] !== 'POST') { exit('请指定POST方法'); } //如果上传成功的话,[“error”]将保存0(= UPLOADIER ERR) if ($_FILES['upload_csv']['error'] !== UPLOAD_ERR_OK) { exit('上传失败'); } // 上传到[ ' type ' ]文件的Min类型 // 因此,检查上传的文件是否是CSV文件 if ($_FILES['upload_csv']['type'] !== 'text/csv') { exit('请上传CSV文件'); } // 以现在的时间为基础,生成唯一的值并作为文件名 $filename = uniqid().'csv'; // 将文件从临时文件夹移动到指定目录 move_uploaded_file($_FILES['upload_csv']['tmp_name'], $storeDir.$filename);
이 기사는 여기서 끝납니다. 더 흥미로운 콘텐츠를 보려면 PHP 중국어 웹사이트의 관련 튜토리얼 열을 주목하세요! ! !
위 내용은 PHP에서 move_uploaded_file 함수를 사용하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!