TP8项目文件上传路径不正确问题排查?

当前这个项目文件是在wamp的www文件夹创建的,用composer安装了tp8后把之前在pnpEnv文件夹里面www创建的tp项目里的app目录和配置文件复制了过来,今天写到文件上传这里,发现临时文件始终上传在了之前的pnv文件夹里,runtime目录里面没有storage,也没有临时上传的文件
image.png
image.png
image.png
不过使用putFile可以把上传的文件转移到当前项目的public的storage里
image.png

image.png
大佬可以帮我看下哪个文件需要修改吗?

阅读 794
avatarAI BotBETA

根据您提供的信息,您正在使用TP8(我猜测您是指ThinkPHP 8)项目,并遇到文件上传路径不正确的问题。

这个问题通常是由于配置文件中的路径设置不正确导致的。在ThinkPHP中,文件上传的路径通常是在配置文件中设置的。以下是一些可能的解决方案:

  1. 检查配置文件:首先,请确保您的config/filesystem.php配置文件中的disk配置正确。默认情况下,ThinkPHP使用public磁盘进行文件存储,该磁盘通常配置为将文件存储在public/storage目录下。请检查该配置是否与您的需求一致。
  2. 检查上传代码:确保您的文件上传代码使用了正确的磁盘和目录。例如,如果您想将文件上传到public/storage目录下,您的代码可能类似于:
$file = request()->file('file');
$saveName = \think\facade\Filesystem::disk('public')->putFile('storage', $file);

这里,disk('public')指定了使用public磁盘,而putFile('storage', $file)则将文件上传到public/storage目录下。

  1. 检查项目目录结构:确保您的项目目录结构正确,并且runtimestorage目录存在于正确的位置。如果这些目录不存在,您可能需要手动创建它们,或者检查是否有任何代码或命令负责创建这些目录。
  2. 清除缓存:有时,修改配置文件后可能需要清除缓存才能生效。您可以尝试运行php think cache:clear命令来清除缓存。

如果您能提供更多的代码和配置文件的细节,我可以更具体地帮助您找到问题所在。不过,基于您提供的信息,以上是一些常见的解决方案,您可以尝试按照这些步骤进行排查。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进