在网上找到一个PHP+FLASH 的批量上传图片的程序
但是我想把图片的路径 取出来 存入MYSQL数据库中 
PHP代码如下<?php
// 注意:使用组件上传,不可以使用 $_FILES["Filedata"]["type"] 来判断文件类型
mb_http_input("utf-8");
mb_http_output("utf-8");
global $c;  if ($_FILES["Filedata"]["error"] > 0)
    {
    echo "返回错误: " . $_FILES["Filedata"]["error"] . "<br />";
    }
  else
    {

  $path="uploadfile/"; //上传路径
  $_FILES["Filedata"]["name"] = microtime(1) . rand() . $type; 
 $file2 = $path.$_FILES["Filedata"]["name"]; 
 if (move_uploaded_file($_FILES["Filedata"]["tmp_name"],$file2)){

  echo $file2."上传成成功<br>";
  $ab=$file2;}
  else
  {echo $file2."上传失败<br>";}
  $c=$c.$ab;
  
  
  
 


 

    }  function filekzm($a)
{
$c=strrchr($a,'.');
if($c)
{
return $c;
}else{
return '';
}
}
?>

解决方案 »

  1.   

    $file2 = $path.$_FILES["Filedata"]["name"]; 
    这个就是你文件上传后存放的地址和文件名了。
    就保存这个进db就行了啊。
      

  2.   

    重新贴下PHP代码<?php
    // 注意:使用组件上传,不可以使用 $_FILES["Filedata"]["type"] 来判断文件类型
    mb_http_input("utf-8");
    mb_http_output("utf-8");  if ($_FILES["Filedata"]["error"] > 0)
        {
        echo "返回错误: " . $_FILES["Filedata"]["error"] . "<br />";
        }
      else
        {
    $type=filekzm($_FILES["Filedata"]["name"]);
        echo "上传的文件: " . $_FILES["Filedata"]["name"] . "<br />";
        echo "文件类型: " . $type . "<br />";
        echo "文件大小: " . ($_FILES["Filedata"]["size"] / 1024) . " Kb<br />";
        echo "临时文件: " . $_FILES["Filedata"]["tmp_name"] . "<br />";

      $path="uploadfile/"; //上传路径
      $file1=$_FILES["Filedata"]["name"];
      $file2 = $path.date("Ymd").time(). $file1; 
     
      if (file_exists("uploadfile/" .$file2)) { echo "文件已存在"; } 
      else { move_uploaded_file($_FILES["Filedata"]["tmp_name"],$file2);
       echo "Stored in: " .$file2;
       
       }     }  
    function filekzm($a)
    {
    $c=strrchr($a,'.');
    if($c)
    {
    return $c;
    }else{
    return '';
    }
    }
    ?>
      

  3.   

    HTML代码如下<html xmlns="http://www.w3.org/1999/xhtml" xml:lang="zh_cn" lang="zh_cn">
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
    <title>多文件上传组件</title>
    </head>
    <body bgcolor="#ffffff" style="text-align:center;">
    <!--影片中使用的 URL-->
    <!--影片中使用的文本-->
    <!-- saved from url=(0013)about:internet -->
    <script language="javascript">
    function challs_flash_update(){ //Flash 初始化函数
    var a={};
    //定义变量为Object 类型
    a.title = "上传文件"; //设置组件头部名称

    a.FormName = "Filedata";
    //设置Form表单的文本域的Name属性

    a.url="update.php"; 
    //设置服务器接收代码文件

    a.parameter="bs=tyi&id=50"; 
    //设置提交参数,以GET形式提交

    a.typefile=["Images (*.gif,*.png,*.jpg,*jpeg)","*.gif;*.png;*.jpg;*.jpeg;","GIF (*.gif)","*.gif;","PNG (*.png)","*.rar;","JPEG (*.jpg,*.jpeg)","*.jpg;*.jpeg;"];
    //设置可以上传文件 数组类型
    //"Images (*.gif,*.png,*.jpg)"为用户选择要上载的文件时可以看到的描述字符串,
    //"*.gif;*.png;*.jpg"为文件扩展名列表,其中列出用户选择要上载的文件时可以看到的 Windows 文件格式,以分号相隔
    //2个为一组,可以设置多组文件类型

    a.UpSize=0;
    //可限制传输文件总容量,0或负数为不限制,单位MB

    a.fileNum=0;
    //可限制待传文件的数量,0或负数为不限制

    a.size=1000;
    //上传单个文件限制大小,单位MB,可以填写小数类型

    a.FormID=['select','select2'];
    //设置每次上传时将注册了ID的表单数据以POST形式发送到服务器
    //需要设置的FORM表单中checkbox,text,textarea,radio,select项目的ID值,radio组只需要一个设置ID即可
    //参数为数组类型,注意使用此参数必须有 challs_flash_FormData() 函数支持

    a.autoClose=1;
    //上传完成条目,将自动删除已完成的条目,值为延迟时间,以秒为单位,当值为 -1 时不会自动关闭,注意:当参数CompleteClose为false时无效

    a.CompleteClose=true;
    //设置为true时,上传完成的条目,将也可以取消删除条目,这样参数 UpSize 将失效, 默认为false

    a.repeatFile=true;
    //设置为true时,可以过滤用户已经选择的重复文件,否则可以让用户多次选择上传同一个文件,默认为false

    a.returnServer=true;
    //设置为true时,组件必须等到服务器有反馈值了才会进行下一个步骤,否则不会等待服务器返回值,直接进行下一步骤,默认为false

    return a ;
    //返回Object
    }function challs_flash_onComplete(a){ //每次上传完成调用的函数,并传入一个Object类型变量,包括刚上传文件的大小,名称,上传所用时间,文件类型
    var name=a.fileName; //获取上传文件名
    var size=a.fileSize; //获取上传文件大小,单位字节
    var time=a.updateTime; //获取上传所用时间 单位毫秒
    var type=a.fileType; //获取文件类型,在 Windows 上,此属性是文件扩展名。 在 Macintosh 上,此属性是由四个字符组成的文件类型
    document.getElementById('show').innerHTML+=name+' --- '+size+'字节 ----文件类型:'+type+'--- 用时 '+(time/1000)+'秒<br><br>'
    }function challs_flash_onCompleteData(a){ //获取服务器反馈信息事件
    document.getElementById('show').innerHTML+='<font color="#ff0000">服务器端反馈信息:</font><br />'+a+'<br />';



    }
    function challs_flash_onStart(a){ //开始一个新的文件上传时事件,并传入一个Object类型变量,包括刚上传文件的大小,名称,类型
    var name=a.fileName; //获取上传文件名
    var size=a.fileSize; //获取上传文件大小,单位字节
    var type=a.fileType; //获取文件类型,在 Windows 上,此属性是文件扩展名。 在 Macintosh 上,此属性是由四个字符组成的文件类型
    document.getElementById('show').innerHTML+=name+'开始上传!<br />';
    }function challs_flash_onCompleteAll(a){ //上传文件列表全部上传完毕事件,参数 a 数值类型,返回上传失败的数量
    document.getElementById('show').innerHTML+='<font color="#ff0000">所有文件上传完毕,</font>上传失败'+a+'个!<br />';
    //window.location.href='http://www.access2008.cn/update'; //传输完成后,跳转页面
    }function challs_flash_onError(a){ //上传文件发生错误事件,并传入一个Object类型变量,包括错误文件的大小,名称,类型
    var err=a.textErr; //错误信息
    var name=a.fileName; //获取上传文件名
    var size=a.fileSize; //获取上传文件大小,单位字节
    var type=a.fileType; //获取文件类型,在 Windows 上,此属性是文件扩展名。 在 Macintosh 上,此属性是由四个字符组成的文件类型
    document.getElementById('show').innerHTML+='<font color="#ff0000">'+name+' - '+err+'</font><br />';
    }function challs_flash_FormData(a){ // 使用FormID参数时必要函数
    try{
    var value = '';
    var id=document.getElementById(a);
    if(id.type == 'radio'){
    var name = document.getElementsByName(id.name);
    for(var i = 0;i<name.length;i++){
    if(name[i].checked){
    value = name[i].value;
    }
    }
    }else if(id.type == 'checkbox'){
    if(id.checked){
    value = id.value;
    }
    }else{
    value = id.value;
    }
    return value;
     }catch(e){
    return '';
     }
    }</script>   <br>
      <br>
    <object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=10,0,0,0" width="408" height="320" id="update_" align="middle">
    <param name="allowFullScreen" value="false" />
        <param name="allowScriptAccess" value="always" />
    <param name="movie" value="update.swf" />
        <param name="quality" value="high" />
        <param name="bgcolor" value="#ffffff" />
        <embed src="update.swf" quality="high" bgcolor="#ffffff" width="408" height="320" name="update" align="middle" allowScriptAccess="always" allowFullScreen="false" type="application/x-shockwave-flash" pluginspage="http://www.macromedia.com/go/getflashplayer" />
    </object>
    <div id="show" style="margin-top:20px; width:500px; text-align:left;"></div>
    </body>
    </html>
      

  4.   

    先谢谢楼上的回答
    但是$file2 = $path.$_FILES["Filedata"]["name"];  只是其中一张图片的路径 
    得不到一组图片的路径
      

  5.   

    这样也可以。但是上传必须一个一个来。
    上传完成的文件名
    $filename.="|";//随便什么分隔符
    $filename.=$uploaded_file_name;全部上传完,就可以把$filename插入数据库了。
      

  6.   

    有没有考虑修改?
    如果我需要修改某一个图片 重新上传的话 怎么update? 字符串匹配然后替换? 
    这个数据结构会导致不少问题
      

  7.   

    $file2 就是文件名,加上路径就好了
      

  8.   

    http://www.111cn.net/tags.php/php文件上传/
    这里面有很多的。
      

  9.   

    怎样解决的? 可以把你的代码发给我学习一下吗??[email protected]  谢谢!!!
      

  10.   

    怎么解决的啊?能否把相关代码发一份学习一下,邮箱是:[email protected]