hochladen Ich verfolge das Tutorial http://www.yiiframework.com/wiki/2/how-to-upload-a-file-using-a-model/ zum Hochladen einer Datei. Ich habe den folgenden Code geschrieben:Was ist der richtige Weg, um eine Datei mit CUploadedFile
$menuitem->attributes = $_POST['MenuItems'];
$menuitem->clientId = Yii::app()->user->clientId;
$menuitem->image = CUploadedFile::getInstance($menuitem, 'image');
if($menuitem->save()){
$menuitem->image->saveAs(
Yii::app()->getBasePath()."/../../".$menuitem->image->getName()
);
}
Aber das Problem ist, dass, wenn eine Datei mit dem gleichen Namen auf dem gleichen Verzeichnis vorhanden ist, werden die Dateien weder überschrieben oder mit einem anderen Namen gespeichert. Was ich will, ist das neue Bild say image.jpg, wenn eine Datei mit dem gleichen Namen existiert, umbenannt zu: image_1.jpg
Ist es möglich? Bitte antworte.
Fügen Sie einfach die Nummer hinzu, falls Sie sie benötigen. So einfach. Mach weiter, du kannst es schaffen! – hakre
@hakre Ich meinte, ich muss die Nummerierung nur hinzufügen, wenn die Datei mit dem gleichen Namen in diesem Verzeichnis existiert. Ich frage nur, ob es eine eingebaute Funktion gibt, um damit umzugehen. Sonst würde ich eine file_exists() Prüfung durchführen und Dateinamen mit Zahlen durchschleifen müssen, bis ein gültiger Dateiname erreicht wird. Wenn Yii das auch kann, wäre es nett gewesen. – ajaybc
Dann überprüfen Sie die API-Dokumentation von YII, was es bietet. Hast du das gemacht? – hakre