Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [PHP]Generowanie ciągów
dark_root
post
Post #1





Grupa: Zarejestrowani
Postów: 341
Pomógł: 1
Dołączył: 19.11.2007

Ostrzeżenie: (10%)
X----


Witam, tworze na swojej stronie upload. Chciałbym, żeby kolejne plikom nazwy były zmieniane w taki sposób
plik 9-009
plik 10-00A
plik 11-00B
i tak cały alfabet a dopiero potem 010.
Mam taki kod do generowania znaków
  1. <?
  2. function ciag()
  3. {
  4.   $znaki = "abcdefghijklmnoprstuqwyz";
  5.   $cyfry = "1234567890";
  6.   $haslo = '';
  7.   for ( $i = 0; $i <= 3; $i++ )
  8.   {
  9.      $los2 = rand(0, strlen($cyfry) - 1);
  10.      $haslo .= $cyfry{$los2};
  11.   }
  12.   for ( $i = 0; $i <= 3; $i++ )
  13.   {
  14.      $los = rand(0, strlen($znaki) - 1);
  15.      $haslo .= $znaki{$los};
  16.   }  
  17.   return $haslo;
  18. }
  19. echo ciag();
  20. ?>

Jednak tworzy on ciągi w losowy sposób jak go przekształcić, żeby nazwy plików tworzyły się w ściśle określonej kolejności, którą przedstawiłem na początku?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi
YaQzi
post
Post #2





Grupa: Zarejestrowani
Postów: 94
Pomógł: 31
Dołączył: 12.10.2008
Skąd: WAT

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


ja bym proponował po prostu trzymać gdzieś liczbę zapisanych już plików i na jej podstawie generować sobie nazwę kolejnego
  1. <?php
  2. // liczba zapisanych plików
  3. $lplikow = 6589+1;
  4. // tablica licznika
  5. $licznik = Array(0,1,2,3,4,5,6,7,8,9,'A','B','C','D','E','F','G','H','I','J','K','L','M','N','O','P','R','S','T','U','Q','W','Y','Z');
  6. //wygenerowanie nazwy
  7. $wliczniku = count($licznik);
  8. while($lplikow > 0){
  9.    if($lplikow >= $wliczniku){
  10.        $cyfra = $lplikow%$wliczniku;
  11.        $wynik[] = $licznik[$cyfra];
  12.        $lplikow = $lplikow-$cyfra;
  13.        $lplikow = $lplikow/$wliczniku;
  14.    }
  15.    else{
  16.        $cyfra = $lplikow;
  17.        $wynik[] = $licznik[$cyfra];
  18.        $lplikow = -1;
  19.    }
  20. }
  21. $nazwa = '';
  22. foreach($wynik as $znak){
  23.    $nazwa = "$znak$nazwa";
  24. }
  25. // wyświetlenie nazwy
  26. echo $nazwa;
  27. ?>
Go to the top of the page
+Quote Post

Posty w temacie


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

 



RSS Aktualny czas: 10.10.2025 - 07:31