Cakephp:将图像保存在文件夹中,并引用到数据库

Cakephp:将图像保存在文件夹中,并引用到数据库,php,android,cakephp,cakephp-2.0,cakephp-2.1,Php,Android,Cakephp,Cakephp 2.0,Cakephp 2.1,我正在开发一个Cakephp 2.x。。。我刚接触cakephp,从未做过保存媒体文件的工作,例如音乐、图像。。即使不是在简单的php中。。。所以问题是我正在从我的android应用程序向我的web应用程序发送图像。。。我想将这些图像存储在某个私人文件夹中,每个人都无法访问。。所以我的意思是我不想在webroot中存储这些图像。。然后要将引用存储在数据库中。。。所以我想知道的第一件事是用cakephp存储图像的标准方法是什么。。。我应该在哪里创建图像文件夹。。。如何给出这条路。。。如果有人实现了

我正在开发一个Cakephp 2.x。。。我刚接触cakephp,从未做过保存媒体文件的工作,例如音乐、图像。。即使不是在简单的php中。。。所以问题是我正在从我的android应用程序向我的web应用程序发送图像。。。我想将这些图像存储在某个私人文件夹中,每个人都无法访问。。所以我的意思是我不想在webroot中存储这些图像。。然后要将引用存储在数据库中。。。所以我想知道的第一件事是用cakephp存储图像的标准方法是什么。。。我应该在哪里创建图像文件夹。。。如何给出这条路。。。如果有人实现了这个或有代码,请分享

写现在我得到的数据从一个android应用程序是这样的

public  function mobileNo(){
       if ($this->request->isPost()){

        $json = $this->request->data('json');
        $data = json_decode($json, TRUE);
        $this->request->data['Calllog']['mobileNo'] = $datas['mobileNo'];
              $this->Calllog->save($this->request->data);
          }

 }

     public function images(){
      if ($this->request->isPost()){



   // 
       }
        }
有一件事我想提一提,请不要让我参考一些插件或组件,因为我认为第三方插件或组件会使应用程序变慢。。所以,如果没有办法,那就分享吧

因为我认为第三方插件或组件会使应用程序变慢

为什么??如果你得到的是蹩脚的代码,这可能是真的,但是作为一个程序员,如果需要找到瓶颈,你应该能够通过分析代码来检查、测试甚至测量代码的性能。然后决定代码是否可以使用。什么插件减慢了你的应用程序

您的问题无法用您提供的截图来回答,它不会显示应用程序如何接收文件数据。它是否显示为php中的常规文件上载?它是不是在字段中以某种方式编码的二进制数据?此外,在合理的文本和时间内,该问题无法真正得到回答

您已经说过您不想使用第三方代码,但更愿意重新发明轮子,并且希望保留对DB的引用。那就去做吧,你已经说了所有的话,所以去实现它。如果您重新考虑使用第三方代码,请继续阅读

关于问题的CakePHP方面,CakePHP遗憾地不知道上传的标准文件夹,也没有处理文件上传的代码。两者都没有好的存储系统(性能很好,一个知名品牌正在使用它)。我花了一些时间来构建它,目的是为CakePHP创建最灵活的文件存储系统。它将每个文件作为一个单独的实体(DB记录)进行处理,该实体可以通过CakePHP模型的ASSOC与所有内容关联

在我看来,我已经看到很多项目在存储文件信息方面做得很糟糕,大多数情况下只是表和记录中直接相关的路径+文件名。但是一个文件本身代表一个实体,并且有更多重要的元数据(mime类型、文件大小…)

该插件在没有进一步配置的情况下将文件(如果使用本地文件系统)存储在APP/tmp/中,因为这是在正确配置的APP设置中唯一可写的文件夹。我通常在应用程序中创建一个文件存储文件夹,将所有文件上载到其中。然后我将对webroot/公开的文件夹进行符号链接。但该插件还支持S3和其他存储系统


要从本地服务器下载该文件,请使用从不可公共访问的文件夹通过php进行传递。

显示请求数据的debug()输出。感谢burzum提供的详细回答或解释。但我已经完成了。。我遵循了这个教程