W wielu sytuacjach musimy zmienić nazwę pliku na serwerze podczas tworzenia, aby zapobiec duplikacji. Najczęstszą odpowiedzią na to pytanie jest dołączenie znacznika czasu na końcu lub zapisanie nazwy pliku w bazie danych i użycie tych zapisanych wartości do obliczenia nowej nazwy. Są dobre i wszystkie, ale dołączenie długiego znacznika czasu nie zawsze jest bardzo przyjazne dla użytkownika, a przechowywanie w bazie danych nie zawsze jest możliwe. Jak więc możemy automatycznie zwiększyć standardową nazwę pliku podczas tworzenia go za pomocą php?Jak zwiększyć nazwę pliku w php, aby zapobiec duplikatom?
6
A
Odpowiedz
8
Oto prosta funkcja Napisałem do tego celu:
function incrementFileName($file_path,$filename){
if(count(glob($file_path.$filename))>0)
{
$file_ext = end(explode(".", $filename));
$file_name = str_replace(('.'.$file_ext),"",$filename);
$newfilename = $file_name.'_'.count(glob($file_path."$file_name*.$file_ext")).'.'.$file_ext;
return $newfilename;
}
else
{
return $filename;
}
}
ZASTOSOWANIE:
$newName = incrementFileName("uploads/", $_FILES["my_file"]["name"]);
move_uploaded_file($_FILES["my_file"]["tmp_name"],"uploads/".$newName);
1
function incrementFileName($file_path,$filename){
$array = explode(".", $filename);
$file_ext = end($array);
$root_name = str_replace(('.'.$file_ext),"",$filename);
$file = $file_path.$filename;
$i = 1;
while(file_exists($file)){
$file = $file_path.$root_name.$i.'.'.$file_ext;
$i++;
}
return $file;
}
6
Wszystkie te odpowiedzi wydaje się przesadą:
$k = 0;
while(!$result){
if(!file_exists("file[$k].ext"))
$result = "file[$k].ext";
$k++;
}
makefile($result);
Powiązane problemy
- 1. Jak zwiększyć limit czasu strony, aby zapobiec błędowi 504?
- 2. Jak zwiększyć maksymalny czas wykonania w php
- 3. Jak zwiększyć ciąg alfanumeryczny w PHP?
- 4. Składnia wiersza poleceń, aby zapobiec zawijaniu w pliku wyjściowym PowerShell?
- 5. Jak automatycznie zwiększyć w PostgreSQL?
- 6. funkcja PHP aby zapobiec SQL injection oraz XSS
- 7. Skrypt powłoki, aby znaleźć nazwę pliku z jego ścieżki
- 8. Jak uzyskać nazwę pliku z pełnej ścieżki za pomocą PHP?
- 9. Uzyskaj nazwę pliku pliku, który działał PHP to
- 10. PHP $ _FILES ['plik'] ['tmp_name']: Jak zachować nazwę pliku i rozszerzenie?
- 11. PHP: znormalizować ścieżkę nieistniejących katalogów, aby zapobiec przechodzeniu katalogów?
- 12. Jak zwiększyć nazwę folderu za pomocą wsadowego systemu Windows?
- 13. PHP: Jak uzyskać nazwę zmiennej w php post method
- 14. Jak odkażać kod HTML w Javie, aby zapobiec atakom XSS?
- 15. Jak zapobiec wielu logowaniom na stronie PHP
- 16. Jak analizować nazwę pliku w bash?
- 17. Jak uzyskać nazwę klasy w PHP?
- 18. Jak zapobiec przesunięciu, aby uruchomić kliknięcie?
- 19. Jak zmienić nazwę pliku biblioteki w CMake?
- 20. Jak ustawić nazwę obrazu w pliku Dockerfile?
- 21. Jak uzyskać tymczasową nazwę pliku?
- 22. Pobierz bieżącą nazwę pliku w JSP
- 23. Jak zwiększyć maksymalną wartość zmiennej POST w PHP?
- 24. Jak zmienić nazwę pliku w VB.NET
- 25. jak uzyskać nazwę pliku wywołującego, nazwę metody w pytonie
- 26. Jak uzyskać nazwę otwartego pliku?
- 27. android, Jak zmienić nazwę pliku?
- 28. Jak uzyskać nazwę pliku DLL?
- 29. Jak znaleźć nazwę pliku Perla?
- 30. Jak mogę ustawić nazwę pliku w NSSavePanel?