fopen(): 文件名不能为空 - Laravel 5 IIS 7

fopen(): Filename cannot be empty - Laravel 5 IIS 7

我一整天都在面对这个问题,我已经看到了这个问题() 什么都没有...

我已经编辑了我的 C:\Windows\Temp 完全控制权限 IISR_IUSERS 我在 windows 服务器 2008 R2 上的 IIS 7 上使用 NTS PHP 版本。

在我的 Laravel 代码上,我正在这样做:

$input['picture_url'] = $request->file($fileInForm)->store('uploads');

在我的开发环境中,它是一个 Macosx 我这样做是为了将图像保存到我这样配置的上传文件夹中:

    /*My code to upload imagem on MACOSX dev enviroment*/

    $input = array();

    $fileInForm = 'picture_url';

    if ($request->hasFile($fileInForm)) {
    $file = $request->file($fileInForm);
    if ($file->isValid()) 
    {
        var_dump($request->file('default_picture_url')->path());
        die();

        // Filename is hashed filename + part of timestamp
        $hashedName = hash_file('md5', $file->pathName());
        //$timestamp = (microtime() * 1000000);

        $newFilename = $hashedName . '.' . $file->getClientOriginalExtension();

       Storage::disk('uploads')->put($newFilename, file_get_contents($file));

       $input['default_picture_url'] = '/uploads/'.$newFilename;
    }
    }

/*My filesystems.php*/
'uploads' => [
            'driver' => 'local',
            'root' => public_path().'/uploads' 
        ],

并且我已经将php.iniupload_tmp_dir修改为C:\Windows\TempC:/Windows/Temp

谁能帮我解决这个问题!

我在 PHP 7.3 和 IIS 中也遇到了同样的问题。我将在下面解释我是如何解决这个问题的。

第 1 步:我已授予 C:\Windows\Temp.

完全权限(任何用户都可以访问)

第 2 步:编辑 php.ini 文件 upload_tmp_dir = "C:\Windows\Temp"sys_temp_dir = "C:\Windows\Temp"

第 3 步:在 php.ini 中启用扩展程序 extension=fileinfo 并重新启动服务器。

最初我使用 C:\Windows\Temp 后来我创建了单独的临时文件夹并使用了该文件夹 C:\inetpub\www\temp