小白初学者 用IIS 和 自己的电脑搭建了个网站,想在网站增加一个让用户上传文件 然后保存到本地服务器上(自己的电脑)
于是我在IIS里面设置好了PHP运行环境,并且我找到php目录下的php.ini 文件修改了upload_tmp_dir。然后我用phpinfo()进入网页运行,看到uploa_tmp_dir还是no value,无论我怎么重启服务器/计算机都没有用。其中temp文件夹我也授权了可读写。奇怪的是如果我修改其他属性例如 post_max_filesize 50M,重启后可以看到属性已经修改,唯独无法修改upload_tmp_dir。大神们快救救我,我已经熬夜看了好多资料 还是无法解决这个问题!可能因为我上网姿势不太优雅 还请多多指教!

解决方案 »

  1.   

    注视我也删掉过 没有什么变化 还是报错 fail to create temporary folder。我已经试过了这些网上看到过的方法,还是不运行
      

  2.   

    去掉注释我又我又试了一遍 新的报错:php notice unknown: file created in the system s temporary directory in unknown line 0
      

  3.   

    楼上正解哈哈哈,分号去掉保存试试看,如果还不会生效可以尝试一下ini_set函数
      

  4.   

    ini_set是某种初始化参数么? 可以教教我具体怎么设置吗?
      

  5.   

    使用IIS_IUSRS 或者 使用 Users 权限,之前加的删掉吧!
      

  6.   

    不好意思,真心感谢各位大神相助,但是恕弟子愚昧,请问我要具体对哪个文件夹进行授权才能让我的朋友(公网)在我的php页面上床文件呢?
      

  7.   

    <html>
    <head>
    <meta charset="utf-8">
    <title>web</title>
    </head>
    <body><form action="upload_file.php" method="post" enctype="multipart/form-data">
        <label for="file">文件名:</label>
        <input type="file" name="file" id="file"><br>
        <input type="submit" name="submit" value="提交">
    </form></body>
    </html><?php
    if ($_FILES["file"]["error"] > 0)
    {
        echo "错误:".$_FILES["file"]["error"]."<br>";
    }
    else
    {
        $filename=$_FILES["file"]["name"];
        $tempfile= $_FILES["file"]["tmp_name"];
        echo "上传文件名: ".$filename."<br>";
        echo "文件类型: ". $_FILES["file"]["type"] ."<br>";
        echo "文件大小: ". ($_FILES["file"]["size"])." B<br>";
        echo "临时存储的位置:".$tempfile."<br>";
        $uploadfile = "D:\\wwwroot\\temp"; //需要权限,temp文件夹必须存在。
        echo "上传文件夹位置:".$uploadfile."<br>";
        if(move_uploaded_file($tempfile, $uploadfile."\\".$filename))
        {
            echo "上传文件成功:".$uploadfile."\\".$filename."<br>";
        }
        else{
            echo "上传文件失败!";
        }
    }
    ?>
      

  8.   

    upload_tmp_dir注释掉,不需要用到的。需要修改的move_uploaded_file后的文件夹权限,文件夹必须存在。