先来看看上传代码
$upload_dir=="./site_data/bak/";
$upload_bak="./site_data/";$file=$_FILES['upload'];
$_SESSION['adminuser']="wang";$ext = explode(".",$file['name']);
$ext = $ext[count($ext)-1];  
$filename1 = substr($file['name'],0,(strlen($file['name'])-strlen($ext)-1));              
$bakfilename = $filename1."_{$uid}_$_SESSION[adminuser]_".date("Y_m_d_H_i_s").".{$ext}";
if(move_uploaded_file($file['tmp_name'],$upload_bak.$file['name'])){
copy($upload_bak.$file['name'], $upload_bak.$bakfilename); 
echo "<script>alert('上传成功');</script>";
}
比如当我上传 文件 名子为aaa时,我要把aaa上传到文件夹site_data中,而且我还要备份文件aaa,并且把备份文件名改为
$bakfilename = $filename1."_{$uid}_$_SESSION[adminuser]_".date("Y_m_d_H_i_s").".{$ext}";备份文件放在site_data文件夹里的bak文件夹里,怎么放

解决方案 »

  1.   


    $upload_dir=="./site_data/";
    $upload_bak="./site_data/bak/";$file=$_FILES['upload'];
    $_SESSION['adminuser']="wang";$ext = explode(".",$file['name']);
    $ext = $ext[count($ext)-1];  
    $filename1 = substr($file['name'],0,(strlen($file['name'])-strlen($ext)-1));              
    $bakfilename = $filename1."_{$uid}_$_SESSION[adminuser]_".date("Y_m_d_H_i_s").".{$ext}";
    if(move_uploaded_file($file['tmp_name'],$upload_dir.$file['name'])){
    copy($upload_dir.$file['name'], $upload_bak.$bakfilename); 
    echo "<script>alert('上传成功');</script>";
    }
      

  2.   

    这样写只上传了$bakfilename = $filename1."_{$uid}_$_SESSION[adminuser]_".date("Y_m_d_H_i_s").".{$ext}";
    这个site_data文件夹下并没有文件啊
    如 上传aaa ,site_data里有aaa,site_data的bak文件里有aaa_wang_"时间"
      

  3.   

    if(move_uploaded_file($file['tmp_name'],$upload_dir.$file['name'])){//这步是上传到$upload_dir=="./site_data/";下
    copy($upload_dir.$file['name'], $upload_bak.$bakfilename); //这步是复制到$upload_bak="./site_data/bak/";下
    按逻辑来说应该是第一步执行成功了,才会有第二步的。前面发的代码我改了变量名字的哈,仔细看下。
      

  4.   

    复制的那步没有错,是复制到bak下了,可第一步并没有在site_data下,而是在它外面了
      

  5.   

    那你只有检查下$upload_dir.$file['name']相对你这个php页面的路径了
      

  6.   

    打印出:$upload_dir.$file['name']看下对不对
      

  7.   

    打印完就出现这个
    X-Powered-By: PHP/5.2.5
    Content-type: text/html<title>文件上传</title><form enctype="multipart/form-data" action="" method="post">
    <table width="400" border="0" cellspacing="1" cellpadding="1" align="center" bgcolor="#E6E6E6" >
        <tr> 
          <td height="22" align="center" valign="middle" bgcolor="#F5F5F5" width="400">&nbsp;文件上传      </td>
        </tr>
        <tr align="center" valign="middle"> 
          <td align="left"  height="40" width="400" bgcolor="#FFFFFF"> 
      &nbsp;&nbsp;选择文件:<input type="file" name="upload"  style="width:300">
    </td></tr>
      
        <tr align="center" valign="middle"> 
          <td bgcolor="#F5F5F5" height="24" width="400"> 
        <div align="center">
              <input type="submit"  value="开始上传">
          </div></td>
        </tr>
      </table>
    </form>
      

  8.   

    <?php
    $upload_dir="./a/b/";
    $upload_bak="./a/";
    /*if(! is_dir("./a/b/"))
     { 
      mkdir("./a/b/");
      @chmod("./a/b/",777);
     }*/
     //$location="./a/b/";$file=$_FILES['upload'];
    $_SESSION['adminuser']="wang";
    //print_r($file);
    $ext = explode(".",$file['name']);//test.txt
    $ext = $ext[count($ext)-1];  //txt
    $filename1 = substr($file['name'],0,(strlen($file['name'])-strlen($ext)-1));              
    $bakfilename = $filename1."_{$uid}_$_SESSION[adminuser]_".date("Y_m_d_H_i_s").".{$ext}";
    if(move_uploaded_file($file['tmp_name'],$upload_dir.$file['name'])){
    copy($file['name'], $upload_bak.$bakfilename); 
    echo "<script>alert('上传成功');</script>";
    }else{
    echo "<script>alert('Fail!');</script>";
    echo $file['name']," -- ",$upload_dir;
    }
    ?>