PHP文件上传与递归目录创建指南
以下是一段实用的PHP代码,帮助你轻松实现文件上传并在特定路径创建递归目录。有此需求的朋友,不妨参考一下。
```php
// 获取上传的文件和用户的UID
$uid = $_REQUEST['uid'];
$avatarPath = 'D:/avic/discuz/uc_server/data/avatar/' . get_avatar_path($uid, $size = 'middle', $type = '');
$dir = dirname($avatarPath);
// 递归创建目录
if (mkdirs($dir)) {
// 上传文件并移动至指定路径
if ($_FILES["pic"]["error"] >= 0) {
if (move_uploaded_file($_FILES['pic']['tmp_name'], $avatarPath)) {
$errorcode = 1; // 文件上传成功
} else {
$errorcode = 0;
$errormsg = "文件移动失败";
}
} else {
$errorcode = 0;
$errormsg = $_FILES['pic']['error'];
}
}
// 返回结果
$response = array("errorcode" => $errorcode, 'errormsg' => $errormsg);
echo json_encode($response);
// 获取图片存储路径的函数
function get_avatar_path($uid, $size = 'middle', $type = '') {
$sizes = array('big', 'middle', 'small'); // 定义尺寸数组
if (!in_array($size, $sizes)) $size = 'middle'; // 设置默认尺寸
$uid = abs(intval($uid)); // 转换为绝对值整数
$uidFormatted = sprintf("%09d", $uid); // 格式化UID
$dir1 = substr($uidFormatted, 0, 3); // 提取UID的某部分作为目录名的一部分