提供上传文件,将文件写入硬盘,获取完整路径(字符串)以添加到数据库CakePHP中

提供上传文件,将文件写入硬盘,获取完整路径(字符串)以添加到数据库CakePHP中,php,cakephp,cakephp-2.3,Php,Cakephp,Cakephp 2.3,因为我只是在试验这个(只有本地主机),我可能想问一些想法(因为我没有真正想出来)关于让一个用户,例如,谁将要注册到一个迷你社交网站,与相应的用户名/密码,个人详细信息等。我会上传图像,并保存到一个文件夹(在我的硬盘上,可以是驱动器C:\或D:),例如“/images/username”,文件夹的完整路径将是插入到名为img_dir的行中的路径(当然它是一个字符串,而不是将其作为BLOB,因此稍后我将只使用img src=“path”)。我不介意它将被保存到哪里。但由于我是cakephp新手,我还

因为我只是在试验这个(只有本地主机),我可能想问一些想法(因为我没有真正想出来)关于让一个用户,例如,谁将要注册到一个迷你社交网站,与相应的用户名/密码,个人详细信息等。我会上传图像,并保存到一个文件夹(在我的硬盘上,可以是驱动器C:\或D:),例如“/images/username”,文件夹的完整路径将是插入到名为img_dir的行中的路径(当然它是一个字符串,而不是将其作为BLOB,因此稍后我将只使用img src=“path”)。我不介意它将被保存到哪里。但由于我是cakephp新手,我还没有真正掌握我将要做什么。我对注册/登录会话没有问题。这在C#中很容易,但我对PHP可能太笨了?:P

虽然这可能无法为您提供cakephp的直接解决方案,但您已经提出了一些想法

我概述了在中将文件存储在文件系统上(以及其他一些方法)的一些优缺点

希望这有助于…

而且它比保存文件路径的想法更值得深思

一个文件有更多的元数据,比如它的大小和mime类型,这在提供文件时很有用。因此上传的文件应该作为它自己的实体来处理。我个人认为直接将文件的路径保存在它所属的记录中是个坏主意。如果以后需要两个图像怎么办?添加递增字段,比如p路径1,路径2

最好有一个单独的文件表,并将记录与这些文件记录关联起来

此外,如果在文件系统的同一级别中获得大量目录和文件,则将文件保存在uploads\username1\pic.jpg这样的路径中可能会导致应用程序速度减慢,因为文件系统性能问题


但是,请查看我的插件readme.md,这里有更多关于为什么它会像它一样解决您可能遇到的各种问题。

不完全是要将其上载到Web服务器上,只需将文件放在硬盘上。获取其完整路径并将完整路径(作为字符串)放入在数据库中,如果我要查看配置文件及其图片,我的img标记将是,例如img src=“c:\xampp\htdocs\cake\uploads\username1\pic.jpg”,但这只是一个示例。不过,无论如何,感谢您的见解:)可以,先生!另一方面,你的名字把我吓坏了!我回家的时候应该试试这个。