PHP 个人照片分享网站:简单易用,快速上手
以下是一个简单的个人照片分享网站的示例代码,使用 PHP 编写:
<!DOCTYPE html>
<html>
<head>
<title>个人照片分享网站</title>
<style>
.gallery {
display: flex;
flex-wrap: wrap;
}
.gallery img {
width: 200px;
height: 200px;
object-fit: cover;
margin: 10px;
}
</style>
</head>
<body>
<h1>个人照片分享网站</h1>
<form action='upload.php' method='POST' enctype='multipart/form-data'>
<input type='file' name='image' required>
<input type='submit' value='上传'>
</form>
<div class='gallery'>
<?php
// 获取存储的图片文件名列表
$images = glob('uploads/*.jpg');
foreach ($images as $image) {
echo '<img src=' . $image . '>';
}
?>
</div>
</body>
</html>
上述代码中,我们首先在网页上方添加了一个上传表单,用户可以通过该表单选择并上传照片。表单的提交会指向名为 upload.php 的处理脚本。
在网页主体部分,我们使用了一个名为 gallery 的 <div> 元素来展示已上传的照片。通过使用 glob() 函数,我们获取了存储在 uploads/ 目录下的所有 .jpg 文件的文件名列表,并通过 foreach 循环将它们逐个展示为 <img> 元素。
接下来,我们需要创建一个名为 upload.php 的文件来处理图片上传:
<?php
if ($_SERVER['REQUEST_METHOD'] === 'POST') {
$targetDir = 'uploads/';
$targetFile = $targetDir . basename($_FILES['image']['name']);
$imageFileType = strtolower(pathinfo($targetFile, PATHINFO_EXTENSION));
// 检查文件是否为图片
$check = getimagesize($_FILES['image']['tmp_name']);
if ($check === false) {
die('文件不是图片!');
}
// 检查文件大小
if ($_FILES['image']['size'] > 5000000) { // 5MB
die('文件太大!');
}
// 限制文件类型为jpg
if ($imageFileType !== 'jpg') {
die('只允许上传 JPG 格式的文件!');
}
// 将文件移动到目标目录
if (move_uploaded_file($_FILES['image']['tmp_name'], $targetFile)) {
echo '文件上传成功!';
} else {
echo '文件上传失败!';
}
}
?>
在 upload.php 文件中,我们首先检查请求方法是否为 POST,以确保仅当用户提交了上传表单时才进行文件处理。
接下来,我们定义了一个目标目录 uploads/,并使用 basename() 函数获取上传文件的文件名。使用 pathinfo() 函数可以获取文件的扩展名,以便后续检查文件类型。
然后,我们使用 getimagesize() 函数检查文件是否为有效的图片文件。如果不是图片文件,我们将终止脚本运行并显示错误信息。
接着,我们检查文件大小是否超过了限制(5MB)。如果超过了限制,同样会显示错误信息。
最后,我们使用 move_uploaded_file() 函数将文件从临时位置移动到目标目录。如果移动成功,我们显示成功信息;否则,显示失败信息。
请注意,此示例仅涵盖了基本的上传和展示功能。你可以根据自己的需求进行扩展和改进。
原文地址: https://www.cveoy.top/t/topic/pftS 著作权归作者所有。请勿转载和采集!