The*_*M97 6 php laravel laravel-5
我想在laravel 5.4上传图片.这是代码:
if ($request->hasFile('image') && $request->image->isValid()) {
$image = $request->image;
$image_name = bcrypt($image->getClientOriginalName());
Storage::disk('public')->putFileAs('images', $image, $image_name . '.' . $image->getClientOriginalExtension());
$article->image($image_name);
}
Run Code Online (Sandbox Code Playgroud)
在FilesystemAdapter.php中(第146行)
我检查了FileSystemAdapter.php,看到问题出在这一行:
$stream = fopen($file->getRealPath(), 'r+');
Run Code Online (Sandbox Code Playgroud)
当我转储$ file变量时,它会返回正确的信息,但是当我var_dump($file->getRealPath();说它bool(false)并且我无法上传图像时
Yev*_*yev 11
我们在Windows®Server的Internet信息服务(IIS)中遇到此问题.并且唯一需要的是 - 对C:\ Windows\temp的许可,因为它在php.ini中为php7设置为upload_tmp_dir.
我在 Windows 10 上使用 Laragon 4.0.12 的情况。
问题是我的 php.ini 中的 upload_tmp_dir=... 没有设置所需的权限。
如果此设置被注释,则该值应该是默认的 Windows 临时目录(C:\Windows\Temp,您可以检查它的权限)。
解决方案 - 我将其更改为:
upload_tmp_dir = "C:\Users\{my_user}\AppData\Local\Temp"
Run Code Online (Sandbox Code Playgroud)
为了避免搞乱更改权限。
修改生效后重启服务器。
php.ini 中要考虑的另一个设置:
upload_max_filesize =
max_file_uploads =
Run Code Online (Sandbox Code Playgroud)
还需要启用以下 php 扩展:exif、gd2
| 归档时间: |
|
| 查看次数: |
5029 次 |
| 最近记录: |