你是指目标路径吗?我改了以后还是报错啊
move_uploaded_file(D:\Program Files\Apache Software Foundation\Apache2.2\htdocs\pro_img\1201675640705.jpg) [function.move-uploaded-file]: failed to open stream: No such file or directory in D:\Program Files\Apache Software Foundation\Apache2.2\htdocs\Chirand\data\mysql-function.php on line 241

解决方案 »

  1.   

    Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\WINDOWS.0\Temp\php46.tmp' to 'D:\Program Files\Apache Software Foundation\Apache2.2\htdocs\pro_img\1201675640705.jpg' in D:\Program Files\Apache Software Foundation\Apache2.2\htdocs\Chirand\data\mysql-function.php on line 241
      

  2.   

    我看它临时目录里面并没有这个tmp文件。。'C:\WINDOWS.0\Temp\php46.tmp'没有这个文件。。这是php本身就不会有呢,还是我的代码有问题?
      

  3.   

    你搞错了.不是'C:\WINDOWS.0\Temp\php46.tmp  这
     是你网站的根路径开始,拼好个路径.
    然后就ok了..
      

  4.   

    给你个我写的例子,你参考下
    private string GetUploadFile(string pubId, string positionId)
        {
            string uploadFilePath = "";
            if (filuplImg.HasFile)
            {
                string fileName = filuplImg.FileName.ToLower().Trim();
                int l = fileName.Length;
                if (fileName.Substring(l - 4, 4) == ".jpg" || fileName.Substring(l - 4, 4) == ".gif" || fileName.Substring(l - 4, 4) == ".swf")
                {
                    if (filuplImg.FileContent.Length < (1024 * 100))
                    {
                        try
                        {
                            string directoryName = ConfigurationManager.AppSettings["WebpubPhysicalPath"].ToString() + @"\AD\Conent\" + pubId + @"\";
                            if (!Directory.Exists(directoryName))
                            {
                                Directory.CreateDirectory(directoryName);
                            }
                            string uploadFile = directoryName + positionId +  fileName.Substring(l - 4, 4);
                            filuplImg.SaveAs(uploadFile);
                            uploadFilePath = @"AD/Conent/" + pubId + @"/" + positionId + fileName.Substring(l - 4, 4);
                        }
                        catch (Exception ex)
                        {
                            lblValidation.Text += "<div>·上传图片时出错(" + ex.Message + ")</div>";
                        }
                    }
                    else
                    {
                        lblValidation.Text += "<div>·上传图片请小于100K </div>";
                    }
                }
                else
                {
                    lblValidation.Text += "<div>·只能上传.jpg、.gif图片或.swf文件 </div>";
                }
            }
            return uploadFilePath;
        }
      

  5.   

    能详细解释下吗??php手册上是说move_uploaded_file()函数是将上传的文件从服务器临时目录中拷贝到目的文件夹。所以我觉得这个C:\WINDOWS.0\Temp\php46.tmp是服务器的临时目录。你说的网站的根路径是什么意思?$_SERVER['DOCUMENT_ROOT']?
      

  6.   

    $path   =   $_SERVER['DOCUMENT_ROOT']   .   "/pro_img/"; 上面如果$_SERVER['DOCUMENT_ROOT']
    是得到根的话.后面拼字符路径的时候怎么会是.   "/pro_img/"; ?????
    总得一句话.你要上传,就必须把目标路径写正确.
    你现在的问题就是把你的目标路径跟出来.
      

  7.   

    目标路径就是在根目录下建立的pro_img文件夹。这里传递的参数是相对于根目录的相对路径吗?