Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Rekurencyjna zmiana nazwy pliku
b4rt3kk
post
Post #1





Grupa: Zarejestrowani
Postów: 1 933
Pomógł: 460
Dołączył: 2.04.2010
Skąd: Lublin

Ostrzeżenie: (0%)
-----


Funkcja ma na celu wczytanie nazwy pliku, sprawdzeniu w danej lokalizacji czy plik już istnieje, jeśli tak to dodawany jest numerek (1 jeśli nie ma żadnej cyfry na końcu lub cyfra kolejna jeśli już jakaś na końcu jest), po czym zapisywana jest nowa nazwa pliku i funkcja wywołuje samą siebie dla nowej nazwy, jeśli jest wolna następuje zapis.


  1. function zapis_pliku ($nazwa_pliku) {
  2.  
  3. $sciezka="wyslane/".$nazwa_pliku;
  4.  
  5. if (file_exists($sciezka)) { // Jeśli plik istnieje zmieniamy jego nazwę.
  6. $tablica=explode(".",$nazwa_pliku);
  7. $nazwa_pliku=$tablica[0];
  8. $i=strlen($nazwa_pliku);
  9. $liczba=$nazwa_pliku[$i-1];
  10. if (is_numeric($liczba)) { // Jeśli ostatni znak nazwy pliku jest liczbą, zwiększana jest o 1.
  11. $liczba++;
  12. for ($j=0; $j<strlen($nazwa_pliku)-1; $j++) {
  13. $nowa_nazwa.=$nazwa_pliku[$j];
  14. }
  15. $nowa_nazwa.=$liczba.".".$tablica[1];
  16. } else { // Jeśli ostatnim znakiem nie jest cyfra, dodawana jest jedynka.
  17. $nowa_nazwa=$nazwa_pliku."1.".$tablica[1];
  18. }
  19. echo $nowa_nazwa;
  20. zapis_pliku($nowa_nazwa);
  21. } else
  22. {
  23. move_uploaded_file($_FILES['userfile']['tmp_name'], "wyslane/".$nazwa_pliku);
  24. }
  25.  
  26. }


Nie wiem, czemu to nie działa (tworzą się pliki o nazwach test.txt, test1.txt, test2.txt i dalej nic tzn. strona się wiesza, a wysyłam plik o nazwie test.txt), a po pewnym czasie skrypt się wiesza i strona się nie wczytuje.
Go to the top of the page
+Quote Post

Posty w temacie


Reply to this topicStart new topic
2 Użytkowników czyta ten temat (2 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 23.08.2025 - 20:14