2016-10-14 42 views
0

請幫幫我。提前致謝。我是Cakephp的新手。 我正在使用cakephp2.8.5版本。我試圖從HTML表單上傳文件,我可以將文件存儲在目標文件夾中,但無法將文件名存儲在mysql數據庫表中。在Cakephp中上傳文件不在mysql數據庫表中添加文件名

My code as follows: 
View Page is add.ctp 

<form name="add_userform" class="form-horizontal" role="form" accept-charset="utf-8" enctype="multipart/form-data" method="post" id="UserAddForm" action="/invl_exams/users/add" > 

    <div style="display:none;"><input type="hidden" value="POST" name="_method"></div> 
    <div class="form-group"> 
     <label for="UserUsername">Username</label> 

     <input type="text" class="form-control" required="required" id="UserUsername" maxlength="255" name="data[User][username]"> 
     <label id="UserUsername-error" class="error" for="UserUsername"></label> 
    </div> 
    <div class="form-group"> 
     <label for="pwd">Password:</label> 

     <input type="password" class="form-control" required="required" id="UserPassword" name="data[User][password]"> 
     <label id="UserPassword-error" class="error" for="UserPassword"></label> 
    </div> 
<div class="form-group" id="ShowDoc" style="display:none"> 
     <label for="usersFile">File</label>  
     <?php echo $this->Form->file('Document.submittedfile'); ?> 
    </div> 

Controller Page is UsersController.php 

public function add() 
    { 


     if($this->request->is('post')|| $this->request->is('put')) 
     { 

      $this->User->create(); 
      $this->request->data['User']['password'] = AuthComponent::password($this->request->data['User']['password']);   

      $file = $this->request->data['Document']['submittedfile']; 

      move_uploaded_file($this->data['Document']['submittedfile']['tmp_name'],  $_SERVER['DOCUMENT_ROOT'] . '/invl_exams/app/webroot/files/' . $this->data['Document']['submittedfile']['name']); 


       if($this->User->save($this->request->data)) 
       {   

       $this->redirect('addExam');     

       }     

     } 

    } 

Model Page is User.php 

<?php 
//App::uses ('AppModel','Model'); 
class User extends AppModel{ 

    public $validate = array(
     'username' => array(

      'required' => array(
       'rule' => 'notBlank', 
       'message' => 'Username is required' 
      ), 
      'isUnique' => array(
      'rule' => 'isUnique', 
      'message' => 'This username has already been taken') 

     ),   
     'password' => array(

      'required' => array(
       'rule' => 'notBlank', 
       'message' => 'A password is required' 
      ), 
      'isUnique' => array(
      'rule' => 'isUnique', 
      'message' => 'Password has already been taken') 
     ), 
     'full_name' => array(
      'required' => array(
       'rule' => 'notBlank', 
       'message' => 'Full name is required' 
      ) 
     ), 
     /*'role' => array(
      'required' => array(
       'rule' => 'notBlank', 
       'message' => 'Role is required' 
      ) 
     ) */ 
     'email' => array(
     array(
     'rule' => array('email'), 
     'massage' => 'Please enter a valid email address', 
      ), 
     ), 
      'secondary_email' => array(
     array(
     'rule' => array('email'), 
     'massage' => 'Please enter a valid email address', 
      ), 
     ),  
     'phone' => array(
      'required' => array(
       'rule' => 'notBlank', 
       'message' => 'Phone is required' 
      ) 
     ), 
     'secondary_phone' => array(
      'required' => array(
       'rule' => 'notBlank', 
       'message' => 'Phone is required' 
      ) 
     ), 
     'location' => array(
      'required' => array(
       'rule' => 'notBlank', 
       'message' => 'Loacation is required' 
      ) 
     ), 
     'business_name' => array(
      'required' => array(
       'rule' => 'notBlank', 
       'message' => 'Business Name is required' 
      ) 
     ), 
     'document' => array(
      'required' => array(
       'rule' => 'notBlank', 
       'message' => 'Document is required' 
      ) 
     ),   
     'pname' => array(
      'required' => array(
       'rule' => 'notBlank', 
       'message' => 'Name is required' 
      ) 
     ), 
     'pemail' => array(
      'required' => array(
       'rule' => 'notBlank', 
       'message' => 'Please enter a Valid Email Id' 
      ) 
     ), 
     'pOfc_phone' => array(
      'required' => array(
       'rule' => 'notBlank', 
       'message' => 'Please enter a Phone Number' 
      ) 
     ), 
     'pdesignation' => array(
      'required' => array(
       'rule' => 'notBlank', 
       'message' => 'Designation is Required' 
      ) 
     ), 

    ); 

} 


?> 

回答

1

你沒有,如果你的像場的名字是IMAGE_NAME$這個 - >請求 - >數據添加圖像名稱陣列。然後,加入這一行

$this->request->data['User']['password'] = AuthComponent::password($this->request->data['User']['password']); 

然後代碼看起來

$this->request->data['User']['image_name'] = $this->data['Document']['submittedfile']['name'] 

後像

$this->request->data['User']['password'] = AuthComponent::password($this->request->data['User']['password']); 
$this->request->data['User']['image_name'] = $this->data['Document']['submittedfile']['name']; 
相關問題