Frage an frameworks, yii, ckeditor – Yii, ein Bild aus $ _FILES speichern, aber ohne Modelle zu verwenden

6

Ist das möglich ? Dies ist mit einem Modell

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

Aber ich möchte kein Modell erstellen, nur damit ich mein Bild speichern kann.

Wofür ich das eigentlich brauche ist ... nun, ich versuche, die Funktion "Bild hochladen" von CKEditor zum Laufen zu bringen, aber ich brauche ein Skript zum Speichern von Bildern. Wenn ich auf die Schaltfläche "Bild hochladen" klicke, rufe ich einfach eine Aktion auf und habe von dort aus Zugriff auf das Bild, das ich mit ausgewählt habe$_FILES, aber ich kann die Datei scheinbar nicht in einem Zielverzeichnis speichern.

Ist es möglich, die Datei in einem Zielpfad (z. B. "C: \ myProject \ images") zu speichern und kein Modell zu verwenden?

EDIT:

Hier ist eine Lösung, die ich etwas später gefunden habe. Die Datei, die ich hochlade, befindet sich in$_FILES['upload'] so ..

$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.
Ich habe vergessen zu erwähnen, ich bin total neu bei yii, bitte schreie mich nicht an, weil ich dumme Fragen stelle. Jordashiro

Deine Antwort

1   die antwort
8

Angenommen, "without model" = "without a db table"

Sie erstellen einfach eine UploadForm.php, die von CFormModel in Ihrem Modellverzeichnis ausgeht

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',
        );
    }

}

und in Ihrem Controller

$model->upload_file=CUploadedFile::getInstance($model,'upload_file');
$model->upload_file->saveAs("C:\myProject\images\".$model->upload_file->name)
Danke, ich werde es ausprobieren :) Jordashiro
Ich habe es versucht, aber kein Glück Erum

Verwandte Fragen