<?php
function uu()
{
$a='C:/Documents and Settings/LuckyStar/桌面/php开发者.rar';
    $v=copy($a,"D:/AppServ/www/upfile/jj.jpg");  //$_FILES['photoname']['tmp_name']获取文件路径
    if($v==true)
        echo "ok";
    else
        echo "NO";
    }
uu();
?>
请教当上传的文件名含有中文字符出错

解决方案 »

  1.   

    你这个不是在上传,而是在拷贝。
    你这种操作,需要服务器的文件系统默认支持PHP文本的编码。换句话说,需要PHP保存文件的名称,支持服务器文件系统的默认编码。可以把文件名转换成base64,试试这个
    <?php
    function uu()
    {
    $a=base64_encode('C:/Documents and Settings/LuckyStar/桌面/php开发者.rar');
        $v=copy($a,base64_encode("D:/AppServ/www/upfile/jj.jpg"));  //$_FILES['photoname']['tmp_name']获取文件路径
        if($v==true)
            echo "ok";
        else
            echo "NO";
        }
    uu();
    ?>
      

  2.   

    友情 
          
          
                 
                 
    ---------------完美的签名线-----------------------
    网页游戏开发第一门户 http://dev.web863.com
      

  3.   

    <html>
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8">
    <title>upload</title>
    </head><body>
    <?php
    if ( $_FILES['MyPhoto']['tmp_name'] != "none" &&
         $_FILES['MyPhoto']['tmp_name'] != "" &&
         $_FILES['MyPhoto']['size'] > 0 ) {
    move_uploaded_file($_FILES['MyPhoto']['tmp_name'], $_FILES['MyPhoto']['name']);
    }
    ?>
      <form action="<?echo $_SERVER['PHP_SELF'];?>" name="DemoForm" method="POST" enctype="multipart/form-data">
      ҺʺŪYؓ‡
      <input type="file" name="MyPhoto">
    <input type="hidden" name="MAX_FILE_SIZE" value="614400" />
      <input type="submit">
      </form>
    </body>
    </html>