> 백엔드 개발 > PHP 튜토리얼 > PHP는 온라인 갤러리 기능을 구현합니다.

PHP는 온라인 갤러리 기능을 구현합니다.

PHPz
풀어 주다: 2023-06-22 17:54:02
원래의
1848명이 탐색했습니다.

현대 인터넷 시대에 갤러리 기능은 많은 웹사이트의 표준 기능이 되었으며, 강력한 프로그래밍 언어인 PHP 역시 이 기능을 구현하는 다양한 방법을 제공합니다.

이 기사에서는 PHP를 사용하여 사진을 업로드하고 탐색하고 삭제하는 간단한 온라인 갤러리 기능을 구현하는 방법을 소개합니다.

1. 준비

PHP를 사용하여 온라인 갤러리 기능을 구현하기 전에 몇 가지 기본 작업을 준비해야 합니다.

1. PHP 및 MySQL을 설치합니다.

2. PHP 파일 업로드를 지원하도록 서버를 준비합니다.

3. 다음 명령을 사용하여 호스트에 새 MySQL 사용자 및 비밀번호를 생성합니다.

CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'user_password'

4. 갤러리 정보를 저장합니다. 다음 명령을 사용할 수 있습니다:

CREATE DATABASE mydb;mydb;

CREATE TABLE images (
id int(11) NOT NULL AUTO_INCREMENT,
name varchar(255) NOT NULL,
path varchar(255) NOT NULL,
uploaded_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,
PRIMARY KEY (id
CREATE TABLE images (

id int(11) NOT NULL AUTO_INCREMENT,

이름 varchar(255) NOT NULL,

path varchar(255) NOT NULL,

uploaded_time datetime NOT NULL DEFAULT CURRENT_TIMESTAMP,

PRIMARY KEY (id)

) ENGINE=InnoDB DEFAULT CHARSET=utf8;

5. 업로드된 이미지를 저장할 새 폴더를 만듭니다.

2. 업로드 기능 구현

먼저 사용자가 이미지 파일을 업로드할 수 있는 HTML 양식을 만들어야 합니다. 파일을 업로드하려면 이 양식에 enctype="multipart/form-data" 속성이 있어야 합니다. 다음은 양식 코드입니다.

<input type="file" name="file" id="file">
<input type="submit" name="submit" value="上传">
로그인 후 복사



이 양식에서 우리는 정의 파일 업로드 요소를 생성하고 기본 HTML에서 "파일 업로드" 버튼을 구현했습니다. 사용자가 이 버튼을 클릭하면 양식이 서버의 upload.php 파일에 파일을 업로드합니다.

다음으로 업로드된 파일의 처리 및 저장을 완료하려면 upload.php 파일에 대한 코드를 작성해야 합니다. 다음은 코드입니다:

$target_dir = "uploads/";

$target_file = $target_dir . basename($_FILES"file");

$uploadOk = 1;

$imageFileType = strtolower(pathinfo ($ target_file,PATHINFO_EXTENSION));


// 파일이 이미지 종류인지 확인

if(isset($_POST["submit"])) {

$check = getimagesize($_FILES["file"]["tmp_name"]);
if($check !== false) {
    echo "文件是一个图像," . $check["mime"] . ".";
    $uploadOk = 1;
} else {
    echo "文件不是一个图像。";
    $uploadOk = 0;
}
로그인 후 복사

}


// 파일이 이미 존재하는지 확인

if (file_exists($ target_file)) {

echo "抱歉,文件已经存在。";
$uploadOk = 0;
로그인 후 복사

}


// 파일 크기 확인
if ($_FILES"file" > 500000) {

echo "抱歉,您的文件太大。";
$uploadOk = 0;
로그인 후 복사

}

// 특정 파일 형식 허용
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"

&& $imageFileType != "gif" ) {

echo "抱歉,只能上传JPG、JPEG、PNG和GIF格式的文件。";
$uploadOk = 0;
로그인 후 복사

}

// 업로드 상태 확인
if ($uploadOk == 0) {

echo "抱歉,您的文件未能上传。";
로그인 후 복사

// 모든 것이 잘되면 파일을 대상 디렉터리로 이동해 보세요

} else {

if (move_uploaded_file($_FILES["file"]["tmp_name"], $target_file)) {
    echo "文件" . basename( $_FILES["file"]["name"]). "上传成功。";

    // 将文件路径、名称和上传时间保存到数据库中
    $img_name = $_FILES["file"]["name"];
    $img_path = $target_file;
    $sql = "INSERT INTO images (name, path) VALUES ('$img_name', '$img_path')";
    $result = mysqli_query($conn, $sql);
} else {
    echo "抱歉,发生了错误,您的文件无法上传。";
}
로그인 후 복사

}

?>

코드는 먼저 파일이 올바른지 확인하는 등 여러 검사를 수행합니다. 이미지, 파일이 이미 존재하는지 여부, 파일 크기 제한 및 허용되는 파일 형식. 이러한 검사가 모두 통과되면 파일을 지정된 디렉터리로 이동할 수 있으며 검색 및 삭제 작업을 위해 일부 정보가 데이터베이스에 저장됩니다.

3. 탐색 기능 구현

다음으로, 업로드된 사진을 탐색하는 기능을 구현해야 합니다. 그러기 위해서는 데이터베이스에 저장된 이미지 정보를 읽어서 웹페이지에 표시해야 합니다.

다음은 코드입니다:


// 데이터베이스에서 모든 이미지의 경로를 가져옵니다.

$sql = "SELECT id, name, path FROM Images";
$result = mysqli_query($conn, $sql) ;

// 경로와 이름을 반복하여 HTML

while($row = mysqli_fetch_assoc($result)) {

$img_id = $row["id"];
$img_name = $row["name"];
$img_path = $row["path"];
echo '<div class="image">';
echo '<a href="view.php?id=' . $img_id . '"><img src="' . $img_path . '" title="' . $img_name . '"></a>';
echo '</div>';
로그인 후 복사

}

?>

삭제 기능 구현

마지막. 단계는 삭제된 이미지 기능을 추가하는 것입니다. 사용자가 이미지를 업로드했지만 더 이상 필요하지 않은 경우 갤러리에서 삭제하도록 선택할 수 있습니다.


코드는 다음과 같습니다:

if(isset($_GET["delete"])) {

$id = $_GET["delete"];

// 从数据库中删除记录
$sql = "DELETE FROM images WHERE id='$id'";
$result = mysqli_query($conn, $sql);

// 删除本地文件
$info_query = "SELECT path FROM images WHERE id='$id'";
$info_result = mysqli_query($conn, $info_query);
$row = mysqli_fetch_assoc($info_result);
unlink($row["path"]);

// 将用户重定向到基页面
header("location: index.php");
로그인 후 복사
}

?>

이 코드는 다음을 기반으로 데이터베이스에서 레코드를 삭제합니다. 이미지의 ID, 로컬에 지정된 파일을 삭제합니다. 그런 다음 사용자를 기본 갤러리 페이지로 리디렉션합니다.

🎜요약🎜🎜이 기사의 소개를 통해 PHP를 사용하여 사진 업로드, 탐색 및 삭제 기능을 포함한 온라인 갤러리 기능을 구현하는 방법을 이해할 수 있습니다. 🎜🎜입력 유효성 검사, 파일 크기 제한, 파일 형식 유효성 검사 등 코드와 관련된 일부 중요한 세부 사항은 모두 보안과 무결성을 보장하기 위해 설정되어 있습니다. 실제 응용 분야에서는 이러한 코드를 필요에 따라 수정하고 확장할 수 있습니다. 🎜

위 내용은 PHP는 온라인 갤러리 기능을 구현합니다.의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

원천:php.cn
본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.
인기 튜토리얼
더>
최신 다운로드
더>
웹 효과
웹사이트 소스 코드
웹사이트 자료
프론트엔드 템플릿