Witam.
Mam takie pytanie. Jak stworzyć funkcję, aby sprawdzała czy nazwa upload-owanego pliku na serwerze istnieje, i jeżeli tak aby sama ją zmieniała, np poprzez dodanie na końcu 1 i kolejno 2, 3..., lub daty itp...? A dodatkowo aby tą zmienioną nazwę zapisała w bazie MySQL?
Bardzo proszę o pomoc, i szybką odpowiedź.
Pozdrawiam, rysiul83
PS.
Albo czy jest możliwe stworzenie kodu, który nadaje upload-owanym plikom jedną nazwę z kolejną wartością liczbową, np:
material00001
material00002
...itd,
tylko, aby nie zmieniał rozszerzenia i nazwę zapisywał do bazy MySQL??
Nie wynajduj koła na nowo - nadawaj nazwy plików na podstawie identyfikatorów z bazy. One przecież są unikalne.
A możecie mi powiedzieć jak zrobić taką funkcję aby sprawdzała czy plik istnieje i jeżeli tak to dodawała do niego na końcu kolejno 1, 2, 3... I aby dodawała to nie do rozszerzenia pliku, a przed?
Sprawdz czy istnieje plik nazwa1, jak istnieje to sprawdzasz czy istnieje nazwa 2, i tak w kólko. Nazywamy to rekurencją
Co do rozszerzenia:
<?php $file='test.php'; $aFile= http://www.php.net/explode('.', $file); $ext = $aFile[http://www.php.net/count($aFile)-1]; http://www.php.net/unset($aFile[http://www.php.net/count($aFile)-1]); $file = http://www.php.net/join('.', $aFile).'1'.'.'.$ext; ?>
No dobrze ale jak to sprawdzić?
<?php http://www.php.net/echo jest('test.php'); function jest($file, $i=1, $orgfile='') { if($orgfile=='') { $orgfile = $file; } if(http://www.php.net/file_exists($file)) { $aFile= (http://www.php.net/array) http://www.php.net/explode('.', $orgfile); $ext = $aFile[http://www.php.net/count($aFile)-1]; http://www.php.net/unset($aFile[http://www.php.net/count($aFile)-1]); $file = http://www.php.net/join('.', $aFile).$i.'.'.$ext; return jest($file, $i+1, $orgfile); } else { return $file; } } ?>
Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)