Wyjazd CI, przesyłania Biblioteka:
http://www.codeigniter.com/user_guide/libraries/file_uploading.html
Niech najpierw przyjrzeć się, jak to zrobić prosty upload plików bez zmiany nazwy pliku:
$config['upload_path'] = './uploads/';
$config['allowed_types'] = 'jpg|jpeg|gif|png';
$this->upload->initialize($config);
if (! $this->upload->do_upload())
{
$error = $this->upload->display_errors();
}
else
{
$file_data = $this->upload->data();
}
To takie proste i działa całkiem dobrze.
Teraz spójrzmy na mięso twojego problemu. Najpierw musimy uzyskać nazwę pliku z tablicy $ _FILES:
$file_name = $_FILES['file_var_name']['name'];
Wtedy możemy podzielić ciąg z _
ogranicznik tak:
$file_name_pieces = split('_', $file_name);
Wtedy będziemy musieli iteracyjne nad lista i zrobić nowy ciąg, gdzie wszystko z wyjątkiem pierwszego rzutu mieć wielkie litery:
$new_file_name = '';
$count = 1;
foreach($file_name_pieces as $piece)
{
if ($count !== 1)
{
$piece = ucfirst($piece);
}
$new_file_name .= $piece;
$count++;
}
teraz, gdy mamy nową nazwę pliku, możemy ponownie co zrobiliśmy powyżej. Zasadniczo robisz wszystko tak samo, z wyjątkiem dodania tego parametru $ config:
I to powinno wystarczyć! Domyślnie CI ma ustawiony parametr konfiguracyjny overwrite
$ na FALSE
, więc jeśli wystąpią jakiekolwiek konflikty, doda numer na końcu nazwy pliku. Aby uzyskać pełną listę parametrów, zobacz link u góry tego wpisu.
pracował ... dziękuję znacznie – jgravois
Wielkiej odpowiedź! To mi bardzo pomaga. –
Próbuję przejść od używania ogranicznika '_' do używania' .'. Pod względem eksplodującego na separatorze '.', nazwa pliku używająca' .' zamiast '_' ma więcej sensu. Jednak z jakiegoś powodu zapis nie przyjmuje moich nazw '.', ale nalega na użycie' _'. Czy ktoś ma taki problem z przemianowaniem obrazów za pomocą CI? – TARKUS