代码之家  ›  专栏  ›  技术社区  ›  Eiglimar Junior

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

  •  4
  • Eiglimar Junior  · 技术社区  · 8 年前

    我整天都在面对这个问题,我已经看到这个问题了( 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\Temp C:/Windows/Temp

    谁能帮我一下吗!

    1 回复  |  直到 8 年前
        1
  •  3
  •   Sarath TS    6 年前

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

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

    步骤2:编辑php。ini文件 upload_tmp_dir = "C:\Windows\Temp" , sys_temp_dir = "C:\Windows\Temp"

    步骤3:启用扩展 extension=fileinfo

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

    推荐文章