【问题标题】:getRealPath() returns false (Laravel 5.2 & Image Intervention)getRealPath() 返回 false(Laravel 5.2 和图像干预)
【发布时间】:2017-06-13 12:34:49
【问题描述】:

上传图片时,getRealPath() 总是返回false

$image_file = $request->file('image_file');
$image_file->getRealPath(); // ---> FALSE

这是dd($image_file);的结果:

另外,当我尝试将它与图像干预一起使用时:

        $image_file = $request->file('image_file');

        Image::make($image_file->getRealPath())->.....

我收到以下错误:

AbstractDecoder.php 第 323 行中的 NotReadableException:图像源不是 可读

显然是因为getRealPath()返回false...有人已经问过这个问题了:getRealPath returning false (Image Intervention and Laravel 5.1)...但是没有解决办法。

你知道为什么会这样吗,我该如何解决这个问题?

【问题讨论】:

  • 你的图片大吗?如果有帮助,请查看此答案stackoverflow.com/questions/25929197/…
  • @Vikash 不,图像大小是 16kb,所以不,这不是问题。
  • @PeraMika 您是否尝试过(就像您链接的帖子中的那个人)避免使用getRealPath() 方法并改用public_path() 方法?这应该可以解决您的问题。
  • @Mihailo 是的,像这样:$request->file('image_file')->public_path() 我得到 方法 public_path 不存在。
  • 你不能“链”。请改用public_path($request->file('image_file')->getClientOriginalName())

标签: php laravel file-upload laravel-5.2 enctype


【解决方案1】:

getRealPath() 遇到了同样的问题。当我dd() 时返回 false。 尝试改用$request->getPathname()

【讨论】:

    【解决方案2】:

    问题出在 php.ini - 上传目录不正确。

    【讨论】:

    • 您能否分享在您的 php.ini 文件中发现的错误。我面临同样的问题我没有看到我的ini文件有任何问题我的临时上传路径是C:\ Windows \ Temp但仍然没有通过->getRealpath()函数获取路径它返回false
    猜你喜欢
    • 1970-01-01
    • 2018-01-07
    • 2016-12-19
    • 2014-06-05
    • 1970-01-01
    • 2017-04-01
    • 2017-01-28
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多