파일 업로드는 웹 개발의 일반적인 작업 중 하나입니다. PHP에서는 파일로 업로드 된 데이터 유형을 처리 및 조작하려면 몇 가지 주요 개념과 기능이 포함됩니다. 이 기사는 PHP에서 파일 업로드 된 데이터 유형을 올바르게 처리하고 조작하는 방법을 설명하고 일부 코드 예제를 제공합니다.
먼저 파일 이름, 파일 유형, 파일 크기 등과 같은 파일 업로드에 대한 관련 정보를 얻어야합니다. 다음은 업로드 된 파일 정보를 얻는 방법에 대한 샘플 코드입니다.
// 파일 업로드에 대한 정보를 얻으십시오
$fileName = $_FILES['file']['name'];
$fileType = $_FILES['file']['type'];
$fileSize = $_FILES['file']['size'];
$fileTemp = $_FILES['file']['tmp_name'];
업로드 파일을 처리하기 전에 파일의 합법성과 보안을 보장하기 위해 파일의 일부 확인을 수행해야합니다. 다음은 몇 가지 일반적인 파일 확인 작업입니다.
// 파일 유형을 확인하십시오
$allowedTypes = ['image/png', 'image/jpeg', 'image/gif'];
if (!in_array($fileType, $allowedTypes)) {
echo "업로드 만 허용됩니다PNG、JPEG그리고GIF문서";
exit;
}
// 验证문서大小
$maxSize = 2 * 1024 * 1024; // 2MB
if ($fileSize > $maxSize) {
echo "문서过大,최대 허용2MB";
exit;
}
// 验证문서是否上传成功
if (!is_uploaded_file($fileTemp)) {
echo "문서上传失败";
exit;
}
확인이 전달되면 업로드 파일을 서버의 대상 위치에 저장할 수 있습니다. 샘플 코드는 다음과 같습니다.
// 대상 스토리지 위치를 설정하십시오
$targetDirectory = "uploads/";
$targetFile = $targetDirectory . $fileName;
// 将문서保存到目标位置
if (move_uploaded_file($fileTemp, $targetFile)) {
echo "문서上传成功";
} else {
echo "문서保存失败";
}
파일 업로드가 완료되면 파일의 이름 바꾸기, 자르기 또는 추가와 같은 다른 파일 작업을 수행해야 할 수도 있습니다. 몇 가지 샘플 코드는 다음과 같습니다.
// 문서重命名
$newFileName = "new_file_name.jpg";
if (rename($targetFile, $targetDirectory . $newFileName)) {
echo "문서重命名成功";
} else {
echo "문서重命名失败";
}
// 문서裁剪
$width = 200;
$height = 200;
$newFile = "cropped_image.jpg";
$image = imagecreatefromjpeg($targetFile);
$croppedImage = imagecrop($image, ['x' => 0, 'y' => 0, 'width' => $width, 'height' => $height]);
if ($croppedImage !== false && imagejpeg($croppedImage, $targetDirectory . $newFile)) {
echo "문서裁剪成功";
} else {
echo "문서裁剪失败";
}
// 워터 마크가있는 이미지
$watermark = imagecreatefrompng("watermark.png");
$transparent = imagecolorallocatealpha($watermark, 0, 0, 0, 0);
imagefill($watermark, 0, 0, $transparent);
imagecolortransparent($watermark, $transparent);
imagettftext($watermark, 36, 0, 10, 40, imagecolorallocate($watermark, 255, 255, 255), "font.ttf", "Watermark");
imagecopymerge($image, $watermark, 0, 0, 0, 0, imagesx($watermark), imagesy($watermark), 50);
imagejpeg($image, $targetDirectory . "watermarked_image.jpg");
imagedestroy($image);
imagedestroy($watermark);
위의 샘플 코드를 통해 PHP에 업로드 된 파일의 데이터 유형을 처리하고 조작하는 방법을 이해할 수 있습니다. 파일 정보를 얻는 것부터 파일 합법성 확인에서 파일 저장 및 기타 파일 작업에 이르기까지 이러한 단계는 파일 업로드 프로세스에 없어서는 안될 부분입니다. 물론 실제 애플리케이션에서는 서버 및 사용자의 데이터 보안을 보호하기 위해 파일 필터 및 파일 확장과 같은 파일 업로드의 보안에주의를 기울여야합니다.