파일 업로드는 PHP 개발의 일반적인 기능입니다. PHP 자체에는 C 언어와 유사한 주요 기능 항목이 없지만 기본 기능의 구조를 시뮬레이션하고 기능 내에서 파일 업로드의 비즈니스 로직을 집중시켜 구성 및 코드의 유지 관리 가능성을 향상시킬 수 있습니다.
이 기사는 기본 기능을 사용하여 파일 업로드 프로세스 및 샘플 코드를 포함하여 파일 업로드 작업을 완료하는 방법을 자세히 소개하여 파일 업로드를 신속하게 이해하고 구현할 수 있도록합니다.
프론트 엔드 페이지에서 업로드 양식 작성 <br> 사용자는 HTML 양식을 통해 파일을 선택하고 양식의 ENCTEPE를 멀티 파트/양식 데이터 로 설정하여 파일을 올바르게 업로드 할 수 있는지 확인해야합니다.
업로드 된 파일을받습니다
PHP는 $ _files Hyperglobal Array를 통해 업로드 된 파일 정보를 수신합니다.
확인 파일 <br> 파일 유형 확인, 크기 제한, 보안 검사 등을 포함하여
파일을 대상 디렉토리 <br>로 이동하십시오 move_uploaded_file 함수를 사용하여 임시 파일을 지정된 디렉토리로 이동하십시오.
처리 결과로 돌아갑니다 <br> 업로드가 성공적이거나 실패한 이유를 사용자에게 알리십시오.
일반적으로 PHP 스크립트에는 기본 기능이 없지만 기본 기능을 사용자 정의하고 기능에 비즈니스 로직을 작성하고 스크립트 끝에서 호출하여 명확한 프로세스 제어 및 코드 구조를 달성 할 수 있습니다.
아래는 완전한 파일 업로드 예제이며, 기본 기능을 사용하여 업로드 작업을 완료하는 방법을 보여줍니다. 예제에 사용 된 URL 도메인 이름은 M66.net 으로 균일하게 대체됩니다.
<?php
function main() {
// 파일 업로드를위한 대상 디렉토리
$targetDir = "uploads/";
// 업로드 디렉토리가 존재하는지 확인하십시오,존재하지 않으면 작성하십시오
if (!is_dir($targetDir)) {
mkdir($targetDir, 0755, true);
}
// 파일 업로드가 있는지 확인하십시오
if (!isset($_FILES['file'])) {
echo "업로드 된 파일이 감지되지 않았습니다";
return;
}
$file = $_FILES['file'];
// 업로드 오류를 확인하십시오
if ($file['error'] !== UPLOAD_ERR_OK) {
echo "파일 업로드에서 오류가 발생했습니다,오류 코드:" . $file['error'];
return;
}
// 파일 크기 제한,최고5MB
$maxSize = 5 * 1024 * 1024;
if ($file['size'] > $maxSize) {
echo "너무 큰 파일,초과 할 수 없습니다5MB";
return;
}
// 허용 파일 확장
$allowedExt = ['jpg', 'jpeg', 'png', 'gif', 'pdf'];
$fileExt = strtolower(pathinfo($file['name'], PATHINFO_EXTENSION));
if (!in_array($fileExt, $allowedExt)) {
echo "지원되지 않는 파일 유형";
return;
}
// 고유 한 파일 이름을 생성합니다,중복 이름을 덮어 쓰지 마십시오
$newFileName = uniqid() . "." . $fileExt;
$targetFile = $targetDir . $newFileName;
// 임시 파일을 대상 디렉토리로 이동하십시오
if (move_uploaded_file($file['tmp_name'], $targetFile)) {
echo "파일 업로드를 성공적으로 업로드하십시오!링크를 방문하십시오:";
echo "<a href=\"https://m66.net/" . $targetFile . "\">https://m66.net/" . $targetFile . "</a>";
} else {
echo "파일 업로드가 실패했습니다,파일을 이동할 때 오류가 발생했습니다";
}
}
// 부르다main함수 실행 업로드 로직
main();
?>
<form action="https://m66.net/upload.php" method="post" enctype="multipart/form-data">
<label for="file">파일 업로드를 선택하십시오:</label>
<input type="file" name="file" id="file" required>
<button type="submit">업로드</button>
</form>
위의 PHP 예제는 업로드 된 파일이 저장된 디렉토리가 업로드/ 디렉토리가 자동으로 작성되었다고 가정합니다 (권한은 0755).
업로드가 성공하면 페이지는 쉽게 액세스 할 수있는 도메인 이름으로 M66.net 과의 액세스 링크를 출력합니다.
안전 및 사양을 보장하기 위해 파일 크기 및 유형이 코드에서 제한됩니다.
기본 기능을 캡슐화함으로써 코드 로직은 명확하고 유지 관리가 쉽습니다.
요약하면, PHP는 기존의 의미에서 기본 기능이 없지만 기본 기능 구조를 시뮬레이션하면 파일 업로드 코드를보다 모듈화하고 명확하게 만들 수 있습니다. 파일 업로드 프로세스를 마스터하고 합리적인 기능 캡슐화를 결합하면 PHP 애플리케이션이보다 강력하고 유지 관리가 쉬울 수 있습니다.