【问题标题】:fopen(): Filename cannot be empty - Laravel 5 IIS 7fopen():文件名不能为空 - Laravel 5 IIS 7
【发布时间】:2018-07-30 02:04:19
【问题描述】:

我整天都在面对这个问题,我已经看到了这个问题(Laravel 5.4 fopen(): Filename cannot be empty) 什么都没有......

我已经编辑了我的C:\Windows\Temp 对我的IISR_IUSERS 的完全控制权限,我在 Windows Server 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.ini upload_tmp_dir 修改为C:\Windows\TempC:/Windows/Temp

谁能帮我解决这个问题!

【问题讨论】:

    标签: php laravel-5 file-upload iis-7 windows-server-2008-r2


    【解决方案1】:

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

    第 1 步:我已授予对 C:\Windows\Temp 的完全权限(任何用户都可以访问)。

    第二步:编辑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

    【讨论】:

    • 很抱歉这么久才来这里,非常感谢您的回答!
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-09-08
    • 2012-05-24
    • 1970-01-01
    • 1970-01-01
    • 2014-06-19
    • 2017-06-15
    相关资源
    最近更新 更多