无论是社区网站还是电商网站都离不开上传文件的功能,这里就用PHP实现简单单文件上传,后续还会写更复杂的 AJAX 和多文件上传。
代码
HTML表单:
默认的文件选择按钮会比较丑,如果想美化文件选择按钮可以把文件选择按钮隐藏,定义一个普通按钮,通过普通按钮来调用文件选择按钮的点击事件。
PHP代码:<?php
$file = $_FILES['img']; // 把文件传给一个变量
// 判断是否有错误,error大于0说明有错误
if ($file['error'] > 0) {
exit('文件上传出错!错误码' . $file['error']); // 不在往下执行,输出错误码
}
if ($file['size'] > 1048576) { // 判断文件大小是否超过1M
exit('文件大小不能超过1M'); // 文件超过1M,不在往下执行
}
// 判断文件扩展名的方法有很多,这里就用正则表达式来判断扩展名
$re = "/\.jpg$|\.png$|\.gif$/"; // 用一个简单的正则表达式来判断扩展名
$extensionName = array(); // 用来接收扩展名的数组
preg_match($re, $file['name'], $extensionName); // 如果匹配成功会返回扩展名
// 如果数组大于0说明匹配成功
if (count($extensionName) < 1) {