用Flash写一个上传组件,直接用<input type="file" />应该是不行的

解决方案 »

  1.   

    <?php
    require_once "main.php";
    /**
    *********************************************
                        参数设定
    *upload_dir---->存放上传文件的目录(例:upload/public/)
    *upload_url---->存放上传文件的网络地址(例:http://127.0.0.1/upload/public/)
    *********************************************
    **/
    //最大上传文件大小
    $MAX_SIZE = "200000";
    //设置Mine类型
    $FILE_MIMES = array('image/jpeg','image/jpg','image/gif','image/png','application/msword');
    //设置允许上传的文件类型,按照格式添加
    $FILE_POSTFIX = array('.zip','.jpg','.png','.gif','.wma','.rm','.wmv','.rar','.doc','.mpeg','.mp3','.avi');
    //是否允许删除以上传的文件,允许:yes; 不允许:no;
    $DELETE_ENABLE = 'no';
    /**
    *********************************************
                        变量设定
    *********************************************
    **/
    $site_name = $_SERVER['HTTP_HOST'];                    //获取本地IP
    $site_url = "http://".$site_name.dirname($_SERVER['PHP_SELF']);            //返回路径中的目录部分
    $site_this = "http://".$site_name.$_SERVER['PHP_SELF'];             //返回当前页面地址
    //可见性,为0时只有会员可见,为1时所有人员都可见
    $visibility = true;
    if($visibility)
    {
         $upload_dir = "images/upload/public/";
         
    }else
    {
        $upload_dir = "images/upload/private/";
    }
        $upload_url = $site_url."/".$upload_dir;
         /*********************************************
                    创建上传目录*********************************************/
    if(!is_dir($upload_dir))                //如查上传目录不存在,则建立一个目录
    {
     if(!mkdir($upload_dir))
      die('文件没有创建成功!!');
     if (!chmod($upload_dir,0777))
      die ("改变权限失败.");
    }
    /*********************************************
                    删除文件处理*********************************************/if($del && $DELETE_ENABLE == 'no')
    {
        $resourse = fopen('log.txt','a');
        fwrite($resourse,date('Y-m-d H:i:s')."删除 - 删除操作的ip地址为: $_SERVER[REMOTE_ADDR]".$del."\n");
        $result = unlink($del);
         if(!$result)
         {
                echo "删除操作失败,请重试";
                echo "<meta http-equiv=\"refresh\"content=\"1;url=register.php\">";
                exit;
        }
         else
         {
                echo "删除操作成功!返回";
                echo "<meta http-equiv=\"refresh\"content=\"1;url=register.php\">";
                exit;
         }
    }
    /*********************************************
                    上传文件处理
    *********************************************/
    if($_FILES['rgphoto'])
    {
        $resourse = fopen('log.txt','a');            //上传记录日志,用于记录上传文件的时间,类型,来源以及上传的文件名
        fwrite($resourse,date('Y-m-d H:i:s')."上传 - 上传操作的ip地址为: $_SERVER[REMOTE_ADDR]".$_FILES['rgphoto']['name']."".$_FILES['rgphoto']['type']."\n");            //在日志中写入相关信息
        fclose($resourse);                            //关闭日志文件
        $file_name = $_FILES['rgphoto']['name'];//上传文件的名字
        $tpl->assign ("name",$file_name);
      
        $file_type = $_FILES['rgphoto']['type'];//上传文件的类型
         
     
        $file_postfix = substr($file_name,strrpos($file_name,"."));//上传文件的后缀 if($_FILES['rgphoto']['size'] >= $MAX_SIZE)                 //文件大小检查
     {
         $tpl->assign ("size",$_FILES['rgphoto']['size']);
        $tpl->assign ("wrosize","太大了,换个小点的图再来!");
      
     }
     elseif(!in_array($file_type,$FILE_MIMES) && !in_array($file_postfix,$FILE_POSTFIX))            //检查上传文件的类型
     {
      $tpl->assign("wrosize","对不起你所上传的文件类型不符合规定,不允许上传!!");
     }
     else
     {
      do_upload($upload_dir,$upload_url);
     }
    }
    function do_upload($upload_dir,$upload_url)
    {
     $temp_name = $_FILES['rgphoto']['tmp_name'];
     $file_name = $_FILES['rgphoto']['name'];
     $file_name = str_replace("\\","",$file_name);
     $file_name = str_replace("'","",$file_name);
     $file_path = $upload_dir.$file_name;
     //文件名检查
     if($file_name = '')
     {
      echo "文件名无效!!!";
      exit;
     }
     $result = move_uploaded_file($temp_name,$file_path);            //把上传上来的文件移动到$file_path指定的文件夹下
      if($result)
     {
        echo "OK";
         
        exit;
     }
     else
     {
        echo "上传失败!!";
         
        exit;
     }
        echo "end"; 
    }?>
    在上面的CODE中修改文件上传类型就OK了!
      

  2.   

    我的意思就是 你在上传文件的时候,不是有选择文件的对话框吗? 我要对话框的显示文件类型是只能显示JPG的
      

  3.   

    zmouki  试下猴子的 ~~ 
      

  4.   

    个人感觉,PHP控制不了这个,是不是应该在HTML里做做文章,<input type="file" ……>,我想在这个里面是不是还要什么属性可以控制。
    最后I'am mouki,Not Monkey!