현대 인터넷 시대에 갤러리 기능은 많은 웹사이트의 표준 기능이 되었으며, 강력한 프로그래밍 언어인 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,
) ENGINE=InnoDB DEFAULT CHARSET=utf8;
5. 업로드된 이미지를 저장할 새 폴더를 만듭니다.
2. 업로드 기능 구현
먼저 사용자가 이미지 파일을 업로드할 수 있는 HTML 양식을 만들어야 합니다. 파일을 업로드하려면 이 양식에 enctype="multipart/form-data" 속성이 있어야 합니다. 다음은 양식 코드입니다.
$target_dir = "uploads/";
$target_file = $target_dir . basename($_FILES"file");$uploadOk = 1;
$imageFileType = strtolower(pathinfo ($ target_file,PATHINFO_EXTENSION));
// 파일이 이미지 종류인지 확인
$check = getimagesize($_FILES["file"]["tmp_name"]); if($check !== false) { echo "文件是一个图像," . $check["mime"] . "."; $uploadOk = 1; } else { echo "文件不是一个图像。"; $uploadOk = 0; }
// 파일이 이미 존재하는지 확인
echo "抱歉,文件已经存在。"; $uploadOk = 0;
// 파일 크기 확인
if ($_FILES"file" > 500000) {
echo "抱歉,您的文件太大。"; $uploadOk = 0;
}
// 특정 파일 형식 허용
if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
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 중국어 웹사이트의 기타 관련 기사를 참조하세요!