php上传文件的常用操作

获取MD5

  1. 上传后将文件移动到实际目录
  2. 使用移动后的文件名作为hash_file的参数

这样就可以获取到上传后的实际文件的MD5值。

// 文件上传后,移动到uploads目录下
$target_file = 'uploads/' . basename($_FILES['upload']['name']); 

move_uploaded_file($_FILES['upload']['tmp_name'], $target_file);

// 计算上传后文件md5值
$md5 = hash_file('md5', $target_file);

echo $md5;

获取文件尺寸

  1. 使用 filesize() 函数获取文件字节大小
  2. 将字节转换为M,计算公式为字节数除以1024再除以1024
  3. 使用 round() 函数格式化为两位小数

这样就可以方便地获取规范化后的文件大小。

// 获取上传文件大小(字节)
$size = filesize($target_file);

// 转换为M并保留两位小数 
$size_m = round($size / 1024 / 1024, 2);

// 输出
echo "Size: {$size_m} M";

清空目录

// 获取上传文件信息
$target_file = 'uploads/file.jpg';

// 清空文件所在目录
$directory = dirname($target_file); 
array_map('unlink', glob("$directory/*"));

// 删除目录 
rmdir($directory);

主要步骤:

  1. 使用 dirname() 函数获取文件所在目录路径
  2. 使用 glob() 函数获取目录下所有文件
  3. 使用 array_map 和 unlink 函数遍历删除目录下文件
  4. 使用 rmdir() 删除空目录

这样就可以在获取文件信息后,清空该文件的所在目录。

需要注意:

  • 确认只清空指定目录,避免影响其他目录
  • 检查目录是否为空后再删除目录
  • 考虑操作权限问题

请根据实际需求,谨慎使用文件删除操作。

重命名上传的文件

// 原文件名 
$filename = $_FILES['upload']['name'];

// 获取文件扩展名
$extension = pathinfo($filename, PATHINFO_EXTENSION);

// 定义新文件名
$new_name = 'myfile_' . time() . '.' . $extension;

// 上传目录
$target_dir = 'uploads/';

// 拼接完整路径
$target_file = $target_dir . $new_name;

// 移动文件并重命名
move_uploaded_file($_FILES['upload']['tmp_name'], $target_file);

主要步骤:

  1. 获取上传文件的扩展名
  2. 拼接新的文件名,例如可以加上时间戳区分
  3. move_uploaded_file时指定新的目标文件名

这样上传后的文件就可以被重命名而不是使用原文件名。
需要注意目标目录需要可写权限。
根据需要,也可以将重命名封装成函数,上传文件时指定新文件名。

另一种重命名方法

// 原文件名
$old_name = 'file.txt'; 

// 新文件名  
$new_name = 'newname.txt';

// 文件所在目录
$dir = '/path/to/directory/';

// 拼接完整的文件路径
$old_path = $dir . $old_name;
$new_path = $dir . $new_name;

// 修改文件名
rename($old_path, $new_path);

主要步骤:

  1. 定义原文件名和新文件名
  2. 拼接包含完整路径的原文件名和新文件名
  3. 使用rename函数修改文件名,传入原文件名和新文件名

rename会直接修改指定文件的文件名,非常简单方便。

注意:

  • 确保有文件名修改权限
  • 新文件名不要与目录下已存在的文件名冲突

修改成功后,可以用file_exists检查新文件名是否生效。

1. 官方交流QQ群,添加多个不批。建议使用安卓手机或电脑申请。
飞云脚本圈: 586333520飞云脚本圈
Auto.js学习交流③群:286635606
Auto.js学习交流②群:712194666(满员)
IOS免越狱自动化测试群:691997586
2. 盗版,破解有损他人权益和违法作为,请各位会员支持正版。
3. 本站部分资源来源于用户上传和网络搜集,如有侵权请提供版权证明并联系站长删除。
4.如未特别申明,本站的技术性文章均为原创,未经授权,禁止转载/搬运等侵权行为。
5.全站所有付费服务均为虚拟商品,购买后自动发货。售出后概不接受任何理由的退、换。注册即为接受此条款。
6.如果站内内容侵犯了您的权益,请联系站长删除。
飞云脚本 » php上传文件的常用操作

企业级大数据智能营销管理系统

了解详情