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 树莓派与pix飞控通信
  • ¥15 自动转发微信群信息到另外一个微信群
  • ¥15 outlook无法配置成功
  • ¥30 这是哪个作者做的宝宝起名网站
  • ¥60 版本过低apk如何修改可以兼容新的安卓系统
  • ¥25 由IPR导致的DRIVER_POWER_STATE_FAILURE蓝屏
  • ¥50 有数据,怎么建立模型求影响全要素生产率的因素
  • ¥50 有数据,怎么用matlab求全要素生产率
  • ¥15 TI的insta-spin例程
  • ¥15 完成下列问题完成下列问题