以下是一个简单的个人照片分享网站的示例代码,使用 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() 函数将文件从临时位置移动到目标目录。如果移动成功,我们显示成功信息;否则,显示失败信息。

请注意,此示例仅涵盖了基本的上传和展示功能。你可以根据自己的需求进行扩展和改进。

PHP 个人照片分享网站:简单易用,快速上手

原文地址: https://www.cveoy.top/t/topic/pftS 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录