Raczej opcji z datą nie polecam. Ktoś może np. wrzucić plik tego samego dnia i jeden plik zastąpi się drugim plikiem (zakładając, że będą one tej samej nazwy).
Bardziej pasowałoby użyć generatora np. 5 losowych znaków z cyfr i liter, wtedy zmniejszy się możliwość zastąpienia pliku.
Ale jeżeli już:
$temp = explode(".", $fileName); //rozdzielamy nazwe pliku od typu ($temp[0] - super pies, $temp[1] - mp4) $text = str_replace(' ','_',$temp[0
]); //zamiana spacji na _ (wynik: $text = super_pies) $newfilename = "test_uploads/".$text."-".date("Y-m-d").".".end($temp); // ustawiamy ścieżkę i nazwę nowego pliku. echo "$fileName upload is complete"; //zapytanie mysql itp
} else {
echo "move_uploaded_file function failed"; }
Wersja z generatorem:
function passwordGenerator($length) {
$uppercase = array('A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'R', 'S', 'T', 'U', 'W', 'Y', 'Z'); $lowercase = array('a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'r', 's', 't', 'u', 'w', 'y', 'z'); $number = array(0
, 1
, 2
, 3
, 4
, 5
, 6
, 7
, 8
, 9
);
$password = NULL;
for ($i = 0; $i < $length; $i++) {
$password .= $uppercase[rand(0
, count($uppercase) - 1
)]; $password .= $lowercase[rand(0
, count($lowercase) - 1
)]; $password .= $number[rand(0
, count($number) - 1
)]; }
return substr($password, 0
, $length); } //wrzucić nad kodem
$temp = explode(".", $fileName); //rozdzielamy nazwe pliku od typu ($temp[0] - super pies, $temp[1] - mp4) $text = str_replace(' ','_',$temp[0
]); //zamiana spacji na _ (wynik: $text = super_pies) $newfilename = "test_uploads/".$text."-".passwordGenerator
(5).".".end($temp); // ustawiamy ścieżkę i nazwę nowego pliku. echo "$fileName upload is complete"; //zapytanie mysql itp
} else {
echo "move_uploaded_file function failed"; }