2015-04-26 63 views
3

我只是將此插件附加到我的cakephp項目中: https://github.com/josegonzalez/cakephp-uploadcakephp上傳插件沒有輸入參數可以更改

我花了很多時間才意識到它將文件上傳到 webroot \ files \ model_name \ filename文件夾,起初我以爲沒有文件上傳。 數據庫的樣子:

ID | DESCR |文件名|文件路徑

我想盡辦法修改輸入參數,但沒有發生它是將文件複製到:\模型名稱\文件名遍地的webroot \文件again.I試圖清空緩存,但也沒有奏效。

public $actsAs = array(
    'Upload.Upload' => array(
     'path' => '{ROOT}{DS}webroot{DS}img{DS}{model}{DS}{field}{DS}', 
     'filename'=> array(

    ) 
); 

另外:

 public $actsAs = array(
    'Upload.Upload' => array(
     'filename'=> array(
     'path' => '{ROOT}{DS}webroot{DS}img{DS}{model}{DS}{field}{DS}',   
      ) 
    ) 
); 

另外:

 class User extends AppModel { 
     public $actsAs = array(
      'Upload.Upload' => array(
       'filename' => array(
        'fields' => array(
         'dir' => 'photo_dir' 
        ) 
       ) 
      ) 
     ); 

} 

在這一點上我認爲它不工作在all.So我體改文件名,但比我得到了SQL錯誤,所以它必須工作,直到這個:

'Upload.Upload' => array(
'filename' => array(

我花了很多時間來找到解決方案(SOF上,谷歌無處不在),但不是我不知道爲什麼我不能更改上傳文件夾..

UPDATE1: 做了一個小調查:

class UploadBehavior extends ModelBehavior { 

public $defaults = array(
    'rootDir' => null, 
    'pathMethod' => 'primaryKey', 
    'path' => '{ROOT}webroot{DS}files{DS}{model}{DS}{field}{DS}', 
.. 

但是我不能通過我的模型修改路徑參數,在這裏我可以改變它並且工作正常。

+1

你應該閱讀插件的文檔。我想讀下面的文章[基本示例](http://cakephp-upload.readthedocs.org/en/latest/examples.html#basic-example)。 – Supravat

回答

0

對於文件上傳足以生PHP中,只是製造了一個形式與屬性ENCTYPE =「多部分/格式數據」包含一個或多個類型的文件輸入,並使用該簡單的php方法「move_uploaded_file將其保存到您喜歡的位置。

這裏是例子形式:

<form action="yourscript.php" method="post" enctype="multipart/form-data"> 
    <input type="file" name="fileToUpload" id="fileToUpload"> 
    <input type="submit" value="Upload File" name="submit"> 
</form> 

,而PHP的方法:

move_uploaded_file($_FILES["fileToUpload"]["tmp_name"], 'yourpreferredpath/yourfile') 

但在CakePHP中,而不是$ _FILES您必須使用$這 - >請求 - >數據,這樣的:

$this->request->data["fileToUpload"]["tmp_name"] 

欲瞭解更多信息,看看http://www.w3schools.com/php/php_file_upload.asp

+0

謝謝你的回答。我也能夠實現沒有插件的上傳功能。我需要插件,因爲它具有處理縮略圖的特殊功能 – Andrewboy

+0

他們做這些功能是什麼?你需要裁剪功能嗎? – Nenomaz

+0

裁剪或調整大小這些對我來說是必然的,這就是爲什麼它不夠簡單的自我編寫代碼 – Andrewboy