weixin_38425228 2017-06-14 06:26 采纳率: 85.7%
浏览 1360
已采纳

php上传文件后改名移动的问题?

小白哈! 请问下一般是上传改名后在移动 还是 移动后在改名呢?
我今天试了很久了,
改名之后就不能移动了,只能在主目录下面 ,原因是改名后,move_uploaded_file()找不到文件了,然后我想用复制copy 然后在删除 一样也不成功,麻烦大神们帮我写一下后面的代码
我要移动主目录 images目录下 求代码 ,前面的什么指定类型的就不麻烦写了,就简简单单的上传改名字 移动到批定目录
感谢 !
辛苦了
图片说明

  • 写回答

3条回答 默认 最新

  • 子幽 2017-06-14 08:08
    关注
    
    

    //有上传文件时
    if (empty($_FILES) === false) {
    //原文件名
    $file_name = $_FILES['imgFile']['name'];
    //服务器上临时文件名
    $tmp_name = $_FILES['imgFile']['tmp_name'];
    //文件大小
    $file_size = $_FILES['imgFile']['size'];
    //检查文件名
    if (!$file_name) {
    alert("请选择文件。");
    }
    //检查目录
    if (@is_dir($save_path) === false) {
    alert("上传目录不存在。");
    }
    //检查目录写权限
    if (@is_writable($save_path) === false) {
    alert("上传目录没有写权限。");
    }
    //检查是否已上传
    if (@is_uploaded_file($tmp_name) === false) {
    alert("上传失败。");
    }
    //检查文件大小
    if ($file_size > $max_size) {
    alert("上传文件大小超过限制。");
    }
    //检查目录名
    $dir_name = empty($_GET['dir']) ? 'image' : trim($_GET['dir']);
    if (empty($ext_arr[$dir_name])) {
    alert("目录名不正确。");
    }
    //获得文件扩展名
    $temp_arr = explode(".", $file_name);
    $file_ext = array_pop($temp_arr);
    $file_ext = trim($file_ext);
    $file_ext = strtolower($file_ext);
    //检查扩展名
    if (in_array($file_ext, $ext_arr[$dir_name]) === false) {
    alert("上传文件扩展名是不允许的扩展名。\n只允许" . implode(",", $ext_arr[$dir_name]) . "格式。");
    }
    //创建文件夹
    if ($dir_name !== '') {
    $save_path .= $dir_name . "/";
    $save_url .= $dir_name . "/";
    if (!file_exists($save_path)) {
    mkdir($save_path);
    }
    }
    $ymd = date("Ymd");
    $save_path .= $ymd . "/";
    $save_url .= $ymd . "/";
    if (!file_exists($save_path)) {
    mkdir($save_path);
    }
    //新文件名
    $new_file_name = date("YmdHis") . '_' . rand(10000, 99999) . '.' . $file_ext;
    //移动文件
    $file_path = $save_path . $new_file_name;
    if (move_uploaded_file($tmp_name, $file_path) === false) {
    alert("上传文件失败。");
    }
    @chmod($file_path, 0644);
    $file_url = $save_url . $new_file_name;

    header('Content-type: text/html; charset=UTF-8');
    $json = new Services_JSON();
    echo $json->encode(array('error' => 0, 'url' => $file_url));
    exit;
    

    }

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论
查看更多回答(2条)

报告相同问题?

悬赏问题

  • ¥15 用PLC设计纸袋糊底机送料系统
  • ¥15 simulink仿真中dtc控制永磁同步电机如何控制开关频率
  • ¥15 用C语言输入方程怎么
  • ¥15 网站显示不安全连接问题
  • ¥15 github训练的模型参数无法下载
  • ¥15 51单片机显示器问题
  • ¥20 关于#qt#的问题:Qt代码的移植问题
  • ¥50 求图像处理的matlab方案
  • ¥50 winform中使用edge的Kiosk模式
  • ¥15 关于#python#的问题:功能监听网页