>백엔드 개발 >PHP 문제 >PHP로 사진을 업로드하는 방법

PHP로 사진을 업로드하는 방법

PHPz
PHPz원래의
2023-04-10 09:36:043430검색

PHP는 웹 개발에 널리 사용되는 서버 측 스크립팅 언어이며 다양한 웹 기능을 구현할 수 있습니다. 그 중 사진 업로드는 웹 개발에서 흔히 볼 수 있는 작업입니다. 이번 글에서는 PHP에서 사진을 업로드하는 방법을 소개하겠습니다.

1. 기본 개념

사진 업로드 방법을 소개하기 전에 몇 가지 기본 개념을 이해해야 합니다.

  1. $_FILES

$_FILES는 업로드된 모든 파일에 대한 정보를 포함하는 슈퍼 전역 배열입니다. 업로드된 파일을 조작하는 데 사용됩니다.

  1. 양식의

은 파일을 업로드하는 데 사용되는 HTML의 양식 컨트롤이며, 이미지를 업로드하는 입구이기도 합니다.

  1. MIME 유형

MIME 유형은 업로드된 파일의 유형을 식별하는 방법이자, 업로드된 파일이 이미지인지 여부를 확인하는 방법 중 하나이기도 합니다.

2. 사진 업로드 방법

PHP의 move_uploaded_file() 함수를 사용하여 파일을 업로드할 수 있습니다. 구문은 다음과 같습니다.

bool move_uploaded_file ( string $filename , string $destination )

그 중 $filename 은 업로드된 파일의 이름. $destination은 저장된 대상 파일 이름을 나타냅니다. 이 함수의 반환 값은 작업의 성공 여부를 나타내는 부울 값입니다.

다음은 이미지 업로드를 위한 간단한 코드 예입니다.

<?php
$allowedExts = array("gif", "jpeg", "jpg", "png");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);     // 获取文件后缀名
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/jpg")
|| ($_FILES["file"]["type"] == "image/pjpeg")
|| ($_FILES["file"]["type"] == "image/x-png")
|| ($_FILES["file"]["type"] == "image/png"))
&& ($_FILES["file"]["size"] < 204800)   // 小于 200 kb
&& in_array($extension, $allowedExts))
{
    if ($_FILES["file"]["error"] > 0)
    {
        echo "错误: " . $_FILES["file"]["error"] . "<br>";
    }
    else
    {
        echo "上传文件名: " . $_FILES["file"]["name"] . "<br>";
        echo "文件类型: " . $_FILES["file"]["type"] . "<br>";
        echo "文件大小: " . ($_FILES["file"]["size"] / 1024) . " kB<br>";
        echo "文件临时存储的位置: " . $_FILES["file"]["tmp_name"] . "<br>";

        // 判断存储文件夹是否存在,不存在则创建文件夹
        if (!file_exists("upload"))
        {
            mkdir("upload");
        }
        // move_uploaded_file() 函数将上传的文件移动到指定目录
        move_uploaded_file($_FILES["file"]["tmp_name"], "upload/" . $_FILES["file"]["name"]);
        echo "文件存储在: " . "upload/" . $_FILES["file"]["name"];
    }
}
else
{
    echo "非法的文件格式或者文件大小超过限制,请检查后重试。";
}
?>

이 코드에서는 업로드가 허용되는 파일 형식과 크기를 먼저 정의하고,Explorer() 함수를 사용하여 업로드된 파일의 접미사 이름을 얻습니다. end() 함수가 사용됩니다. 배열의 마지막 요소(예: 파일 확장자)를 가져옵니다. MIME 유형은 신뢰할 수 없으므로 이 방법을 사용하여 판단해야 합니다.

그런 다음 $_FILES "file" 값이 0인지 판단하여 업로드 성공 여부를 판단합니다. 성공하면 업로드된 이미지가 지정된 폴더로 이동되고 파일 정보와 경로가 표시됩니다.

3. 요약

이 글에서는 이미지 업로드에 관한 기본 개념과 코드 구현을 포함하여 PHP에서 이미지를 업로드하는 방법을 소개합니다. move_uploaded_file() 함수와 관련 조건문을 사용하여 이미지 업로드 기능을 구현할 수 있습니다. 동시에 보안을 보장하기 위해 개발자는 업로드되는 파일의 유형과 크기를 제한하여 사고를 방지하는 데 주의를 기울여야 합니다.

위 내용은 PHP로 사진을 업로드하는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.