我的测试项目是我是Laravel的新手,而第二次是将其部署到共享主机,第一个是简单的php脚本,这是为什么我的某些文件上传错误地放在错误的目录下的问题吗? >
$filenameWithExtThumb = $request->file("thumbnail")->getClientOriginalName();
$filenameThumb = pathinfo($filenameWithExtThumb, PATHINFO_FILENAME);
$extensionThumb = $request->file("thumbnail")->getClientOriginalExtension();
$fileNameToStoreThumb = $filenameThumb."_".time().".".$extensionThumb;
$img = \Image::make($request->file("thumbnail"));
//$pathThumb = str_replace("/","\\",addcslashes(public_path('storage/'.auth()->user()->name."'s Thumbnails/".$fileNameToStoreThumb),"\f\r\n\t"));
$pathThumb = public_path('storage/'.auth()->user()->name."'s Thumbnails/".$fileNameToStoreThumb);
$img->resize(240, 240)->save($pathThumb);
这是用于存储图像逻辑的。它按广告进行工作。它进入public_html,然后进入存储目录(如果不存在),创建特定用户的目录来存储缩略图。
这是关于视频的:
$filenameWithExt = $request->file("video")->getClientOriginalName();
$filename = pathinfo($filenameWithExt, PATHINFO_FILENAME);
$extension = $request->file("video")->getClientOriginalExtension();
$fileNameToStore = $filename."_".time().".".$extension;
//$path = $request->file("video")->storeAs(public_path('public/'.auth()->user()->name."'s Videos/".$fileNameToStore));
//$path = $request->file("video")->storeAs("storage/".auth()->user()->name."'s Videos/", $fileNameToStore);
//$path = str_replace("/","\\",addcslashes(public_path('storage/profile_pics/'.$fileNameToStore),"\f\r\n\t"));
$path = $request->file("video")->storeAs(public_path('storage/'.auth()->user()->name."'s Videos"), $fileNameToStore);
它们两个都分别生成路径“ storage / ssd1 / 218/12083218 / public_html / storage / UserNames的视频/8_1577727033.mp4”和“ storage / ssd1 / 218/12083218 / public_html / storage / UserNames的Thumbnails / 8_1577727033.jpg” 。
问题是处理视频逻辑的第一个未上载到共享主机上的所述目录中。我想提及的是,在本地主机上,该代码几乎没有什么不同,即我“已调整”,因此可以在共享主机上正常工作,并且一切正常。
要查看我的代码可以在localhost上完美运行,但不能在托管上运行,请参见:repo
在github。
我还上传了字幕/文本文件,它们的逻辑与视频上传代码相同。他们的代码也很混乱。
提前致敬
编辑1:
使用免费计划托管,这是我只能负担得起的东西,因此没有ssh,因此symlink不起作用,由于这些限制,我决定将其上传到public_html目录中。我知道安全性和所有知识,但这只是测试项目,正如我所说,目前我没有钱用于付费托管。