php上传文件1. 判断文件类型,是否符合要求,要求只能上传jpg和png格式的文件。 2. 判断大小:文件大小不超过200K。 (大小、类型具体要求可自己的规定) 3. 上传后,统一命名:用“时间戳”作为新文件名。同时,获取到原始文件名中的扩展名,作为新文件名的扩展名。
时间: 2024-11-06 12:24:36 浏览: 37
php判断文件上传图片格式的实例详解
在PHP中,为了满足上述要求上传文件,你需要结合`$_FILES`数组的属性来检查文件类型、大小并生成新的文件名。这里是一个示例代码:
```php
<?php
// 设置允许的文件类型
$allowedExtensions = array('jpg', 'png');
// 获取当前时间戳用于文件名
$timestamp = time();
// 检查上传文件
if(isset($_FILES['file']) && $_FILES['file']['error'] === UPLOAD_ERR_OK) {
$fileName = basename($_FILES['file']['name']);
// 分离原文件名和扩展名
list($originalName, $extension) = pathinfo($fileName);
// 检查文件类型
$fileType = strtolower(pathinfo($fileName, PATHINFO_EXTENSION));
if(!in_array($fileType, $allowedExtensions)) {
echo "只允许上传.jpg 和.png 格式的文件。";
exit;
}
// 检查文件大小
$maxFileSize = 2097152; // 2MB
if($_FILES['file']['size'] > $maxFileSize) {
echo "文件大小超过200KB。";
exit;
}
// 生成新的文件名
$newFileName = $timestamp . "_" . $originalName . '.' . $fileType;
// 移动上传的文件到指定目录,替换旧名字
$destinationPath = 'uploads/' . $newFileName;
if(move_uploaded_file($_FILES['file']['tmp_name'], $destinationPath)) {
echo "文件已成功上传,新的文件名为:" . $newFileName;
} else {
echo "文件上传失败。";
}
} else {
echo "请选择一个文件。";
}
?>
```
在这个代码中,我们首先检查了文件类型和大小,如果不符合条件则给出相应的错误信息并终止脚本。如果一切正常,会使用时间戳和原始文件名生成新的文件名,并将其移动到预设的上传目录。
阅读全文