学做网站培训课程介绍

当前位置:

如何使用Input表单制作网站上传文件功能

做网站时,有时需要在网站前台制作一个表单,表单里有点击上传图片的功能。怎么自己使用PHP制作这种网站前台表单上传图片到服务器功能呢?

如何使用Input表单制作网站上传文件功能

下面分享一下制作过程以及实现的代码。

通常我们制作前台上传图片功能,是将上传按钮放在一个表单里。所以我们需要先制作一个FORM表单;


<form target="id_iframe" action="imgload.php" method="post" enctype="multipart/form-data" id="formfavicon" onkeydown="if(event.keyCode==13){return false;}">
<div class="mbk_lif">
<span class="mbk_inputtit">ICO图标上传</span>
</div>
<div class="mbk_lir">
<input type="file" id="upfavicon" name="fileToUpload" >
</div>
</form>

这个表单需要注意的二点:

必须加enctype=”multipart/form-data” 这个属性,否则将无法实现上传功能;

form提交的地址为一个php文件imgload.php。

下一步就是制作图片上传功能处理文件imgload.php;新建一个空白的文件,粘贴以下的代码,保存为imgload.php;

$targetDir = WP_CONTENT_DIR . '/uploads/csv_uploads/';
//如果不是wordpress就使用下面的路径
//$targetDir = "images/";

//添加权限
if (!file_exists($targetDir)) {
mkdir($targetDir, 0755, true); // Create the directory if it doesn't exist
}
$targetFile = $targetDir . basename($_FILES["fileToUpload"]["name"]);
$uploadOk = 1;
$imageFileType = strtolower(pathinfo($targetFile,PATHINFO_EXTENSION));
// 检查文件是否为图片
$check = getimagesize($_FILES["fileToUpload"]["tmp_name"]);
if($check !== false) {
//echo "文件是一个有效的图片 - " . $check["mime"] . ".";
$uploadOk = 1;
} else {
die( "<span class='tishiwz'>文件不是一个有效的图片.</span>");
}
// 检查文件是否已存在并重命名
if (file_exists($targetFile)) {
while (file_exists($targetFile)) {
// 生成唯一文件名
$filename_parts = pathinfo($targetFile);
$new_filename = $filename_parts['filename'] . '_' . time() . '.' . $filename_parts['extension'];
$targetFile = $targetDir . $new_filename;
}
}
// 检查文件大小
if ($_FILES["fileToUpload"]["size"] > 3000000) {
die( "<span class='tishiwz'>对不起,文件过大,不要超过3MB.</span>");
}
// 允许上传的文件格式
$allowedTypes = array("jpg", "jpeg", "png", "gif");
if (!in_array($imageFileType, $allowedTypes)) {
die( "<span class='tishiwz'>对不起,只允许上传JPG, JPEG, PNG 和 GIF 文件.</span>");
}
if (move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], $targetFile)) {
echo "<span class='tishiwz'>文件上传成功:" . basename( $_FILES["fileToUpload"]["name"])."</span>";
} else {
echo "<span class='tishiwz'>对不起,文件上传失败,请重新上传.</span>";
}

这段代码中$targetDir = “images/” 为图片保存的路径文件夹,这个文件夹位置是相对于form表单网页的;

if (file_exists($targetFile)) {}为检测是否已上传到同名的图片,如果有同名,将自动重命名;

if ($_FILES[“fileToUpload”][“size”] > 3000000) {}为控制图片上传的大小,最大为3M;

$allowedTypes = array(“jpg”, “jpeg”, “png”, “gif”);为允许上传图片的格式;

通过以上的代码,就可以在表单里制作出一个图片上传功能了。

发表评论

您的电子邮箱地址不会被公开。 必填项已用*标注

相关教程

  • 新手学做网站难免遇到各种问题,不用慌,很多问题都是新手必经之路,下面总结了最常见的问题和简单的解决方法,照着做就能搞定,不用到处求人。问题1
  • Hostinger 主机开启自带 CDN 步骤:Hostinger 自带 CDN 仅 Business 及以上套餐可用,入门单网站套餐无此功能。第一步:用户名密码登录Hostinger主
  • 对于企业网站、电商网站来说,产品展示功能是核心,一个好的产品展示功能能让用户快速了解产品信息,提高购买意愿。很多新手做网站的时候,不知道怎么
  • 不懂编程也能搭建个人网站,现在的工具早就实现“无代码建站”了,不用写一行代码,跟着下面的步骤来,小白也能快速拥有自己的网站,不用怕学不会。首
  • 想让网页上的文字闪烁,比如提醒用户注意某个信息,不用写复杂的JS代码,用HTML或CSS就能实现,新手也能轻松上手。第一种方法是用HTML的blink标签,
  • 零基础做网站不用花很多钱,丰俭由人,少则几百块,多则几千块,主要看你的需求,不用盲目花钱,下面给大家算一笔明白账,让你心里有数。首先是域名
  • 很多人做网站都会用现成的模板,毕竟自己从零设计网站不仅费时间,还需要专业的设计能力。但现成的模板用的人多了,很容易出现“撞脸”的情况,别人打开
  • 很多小商家、个体户想做一个电商产品展示网站,让客户能在线查看产品、了解详情,但又不想花太多钱。其实有很多免费的工具和方法,新手不用懂代码也能
  • Yoast SEO是WordPress最强大的SEO插件之一,能帮你优化文章和页面的SEO,提高搜索引擎排名,下面给大家详细讲解基本使用方法。第一步,安装并启用插
  • 新手做网站不用盲目跟风学,不用一上来就啃复杂的代码、技术文档,找对切入点,从基础开始,一步步来,很快就能上手,下面给大家指条清晰的学习路径,