设为首页收藏本站
天天打卡

 找回密码
 立即注册
搜索
查看: 107|回复: 16

使用PHP实现图片上传接口的实例代码

[复制链接]

1

主题

46

回帖

113

积分

注册会员

积分
113
发表于 2024-4-20 09:41:45 | 显示全部楼层 |阅读模式
目录


引言

在Web开发中,图片上传是一个常见的功能。无论是用户头像的上传,还是内容的图片插入,都需要使用到图片上传的功能。在这篇文章中,我们将详细介绍如何使用PHP实现图片上传接口。

环境准备

首先,我们需要一个运行PHP的环境。这里我们使用的是XAMPP,它是一个包含了Apache、MySQL、PHP和Perl的开源Web应用服务器。

创建数据库

我们需要一个数据库来存储上传的图片信息。这里我们使用MySQL数据库,创建一个名为images的数据库,并在其中创建一个名为image_info的表,用于存储图片的信息。
  1. CREATE DATABASE images;
  2. USE images;
  3. CREATE TABLE image_info (
  4.     id INT AUTO_INCREMENT PRIMARY KEY,
  5.     name VARCHAR(255) NOT NULL,
  6.     path VARCHAR(255) NOT NULL,
  7.     type VARCHAR(255) NOT NULL,
  8.     size INT NOT NULL,
  9.     upload_time TIMESTAMP DEFAULT CURRENT_TIMESTAMP
  10. );
复制代码
创建图片上传接口

接下来,我们创建一个PHP文件,名为
  1. upload.php
复制代码
,用于处理图片的上传。
  1. <?php
  2. $target_dir = "uploads/";
  3. $target_file = $target_dir . basename($_FILES["fileToUpload"]["name"]);
  4. $uploadOk = 1;
  5. $imageFileType = strtolower(pathinfo($target_file,PATHINFO_EXTENSION));

  6. // Check if image file is a actual image or fake image
  7. if(isset($_POST["submit"])) {
  8.     $check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
  9.     if($check !== false) {
  10.         echo "File is an image - " . $check["mime"] . ".";
  11.         $uploadOk = 1;
  12.     } else {
  13.         echo "File is not an image.";
  14.         $uploadOk = 0;
  15.     }
  16. }

  17. // Check if file already exists
  18. if (file_exists($target_file)) {
  19.     echo "Sorry, file already exists.";
  20.     $uploadOk = 0;
  21. }

  22. // Check file size
  23. if ($_FILES["fileToUpload"]["size"] > 500000) {
  24.     echo "Sorry, your file is too large.";
  25.     $uploadOk = 0;
  26. }

  27. // Allow certain file formats
  28. if($imageFileType != "jpg" && $imageFileType != "png" && $imageFileType != "jpeg"
  29. && $imageFileType != "gif" ) {
  30.     echo "Sorry, only JPG, JPEG, PNG & GIF files are allowed.";
  31.     $uploadOk = 0;
  32. }

  33. // Check if $uploadOk is set to 0 by an error
  34. if ($uploadOk == 0) {
  35.     echo "Sorry, your file was not uploaded.";
  36. // if everything is ok, try to upload file
  37. } else {
  38.     if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $target_file)) {
  39.         echo "The file ". htmlspecialchars( basename( $_FILES["fileToUpload"]["name"])). " has been uploaded.";
  40.     } else {
  41.         echo "Sorry, there was an error uploading your file.";
  42.     }
  43. }
  44. ?>
复制代码
测试图片上传接口

最后,我们可以创建一个HTML文件,包含一个表单,用于上传图片。当我们选择一张图片并点击提交按钮时,我们的图片上传接口就会被调用。
  1. <!DOCTYPE html>
  2. <html>
  3. <body>

  4. <form action="upload.php" method="post" enctype="multipart/form-data">
  5.     Select image to upload:
  6.     <input type="file" name="fileToUpload" id="fileToUpload">
  7.     <input type="submit" value="Upload Image" name="submit">
  8. </form>

  9. </body>
  10. </html>
复制代码
到此这篇关于使用PHP实现图片上传接口的方法的文章就介绍到这了,更多相关PHP图片上传接口内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!

1

主题

63

回帖

149

积分

注册会员

积分
149
发表于 2024-4-22 14:37:36 | 显示全部楼层
好用好用

1

主题

42

回帖

105

积分

注册会员

积分
105
发表于 2024-4-24 13:11:21 | 显示全部楼层
我不太确定,可能需要再确认一下。
  • 打卡等级:即来则安
  • 打卡总天数:27
  • 打卡月天数:0
  • 打卡总奖励:424
  • 最近打卡:2024-08-20 23:24:38

6

主题

58

回帖

722

积分

高级会员

积分
722
发表于 2024-4-28 07:55:22 来自手机 | 显示全部楼层
谢谢楼主分享

1

主题

45

回帖

113

积分

注册会员

积分
113
发表于 2024-4-30 10:29:40 | 显示全部楼层
谢谢你分享这个信息

0

主题

41

回帖

83

积分

注册会员

积分
83
发表于 2024-5-15 04:44:24 | 显示全部楼层
这个话题很有趣,我想多了解一些

3

主题

49

回帖

165

积分

注册会员

积分
165
发表于 2024-5-30 05:36:30 | 显示全部楼层
友善的讨论氛围是非常重要的。
  • 打卡等级:初来乍到
  • 打卡总天数:5
  • 打卡月天数:0
  • 打卡总奖励:93
  • 最近打卡:2024-09-19 09:19:04

0

主题

80

回帖

303

积分

中级会员

积分
303
发表于 2024-6-21 23:10:36 | 显示全部楼层
感谢分享,受益匪浅!

1

主题

56

回帖

134

积分

注册会员

积分
134
发表于 2024-7-11 08:15:24 | 显示全部楼层
牛逼

0

主题

40

回帖

79

积分

注册会员

积分
79
发表于 2024-7-12 07:35:35 | 显示全部楼层
牛逼
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

手机版|小黑屋|爱云论坛 - d.taiji888.cn - 技术学习 免费资源分享 ( 蜀ICP备2022010826号 )|天天打卡

GMT+8, 2024-11-15 11:58 , Processed in 0.098646 second(s), 26 queries .

Powered by i云网络 Licensed

© 2023-2028 正版授权

快速回复 返回顶部 返回列表