2012-05-14 22 views
6

Điều này có khả thi không? Đây là mô hình

CUploadedFile::getInstance($model,'newsimage'); 
    $model->image->saveAs("image\path") 

nhưng tôi không muốn tạo mô hình để tôi có thể lưu hình ảnh của mình.

Điều tôi thực sự cần là ... tôi đang cố gắng làm cho chức năng "Tải lên hình ảnh" của CKEditor hoạt động, nhưng tôi cần một tập lệnh để lưu hình ảnh. Khi tôi nhấp vào nút "Tải lên hình ảnh", tôi chỉ cần gọi một hành động và từ đó tôi có quyền truy cập vào hình ảnh tôi đã chọn, sử dụng $_FILES, nhưng dường như tôi không thể lưu tệp vào thư mục đích.

Có thể lưu tệp vào đường dẫn đích (ví dụ: "C: \ myProject \ images") và không sử dụng mô hình không?

EDIT:

Dưới đây là một giải pháp tôi tìm thấy một chút sau Các tập tin tải lên i là trong $_FILES['upload'] vì vậy ..

$temp = CUploadedFile::getInstanceByName("upload"); // gets me the file into this variable ( i gues this wont work for multiple files at the same time) 
$temp->saveAs("D:/games/" . $temp->name); // full name , including the filename too. 
+0

tôi quên đề cập đến, tôi totaly mới tại yii, xin đừng hét vào mặt tôi để đặt câu hỏi ngớ ngẩn. – Jordashiro

Trả lời

8

Giả định rằng "không có mô hình" = "mà không có một db bảng "

Bạn chỉ cần tạo UploadForm.php mở rộng từ CFormModel trong thư mục mô hình của bạn

class UploadForm extends CFormModel 
{ 
    public $upload_file; 

    public function rules() 
    { 
     return array(
     array('upload_file', 'file', 'types'=>'jpg,jpeg,gif,png','maxSize'=>10*1024*1024), 
     ); 
    } 

    /** 
    * Declares attribute labels. 
    */ 
    public function attributeLabels() 
    { 
     return array(
      'upload_file'=>'Upload File', 
     ); 
    } 

} 

và trong điều khiển của bạn

$model->upload_file=CUploadedFile::getInstance($model,'upload_file'); 
$model->upload_file->saveAs("C:\myProject\images\".$model->upload_file->name) 
+0

Cảm ơn bạn, tôi sẽ thử nó :) – Jordashiro

+0

tập tin văn bản không lưu của nó tôi đã thử nhưng không có may mắn – Erum

Các vấn đề liên quan