Podążam za tutorialem http://www.yiiframework.com/wiki/2/how-to-upload-a-file-using-a-model/, aby przesłać plik. Napisałem następujący kod:Jaki jest właściwy sposób przesyłania pliku przy użyciu 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()
);
}
Ale problemem jest to, że jeśli plik o tej samej nazwie w tym samym katalogu, pliki nie jest ani nadpisane lub zapisany pod inną nazwą. To, czego chcę, to nowy obraz, powiedz image.jpg, jeśli istnieje plik o tej samej nazwie, którego nazwa ma zostać zmieniona na: image_1.jpg
Czy to możliwe? Proszę odpowiedz.
Po prostu dodaj numer w razie potrzeby. Tak proste. Śmiało, możesz to zrobić! – hakre
@hakre Chodzi mi o to, że muszę dodać numerację tylko wtedy, gdy plik o tej samej nazwie istnieje w tym katalogu. Pytam tylko, czy jest jakaś wbudowana funkcja do obsługi tego. W przeciwnym razie musiałbym wykonać sprawdzenie file_exists() i zapętlić nazwy plików z liczbami, dopóki nie zostanie osiągnięta poprawna nazwa pliku. Jeśli Yii też sobie z tym poradzi, byłoby miło. – ajaybc
Następnie sprawdź dokumentację API co do tego, co oferuje. Zrobiłeś to? – hakre