Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Czy plik istnieje?
Forum PHP.pl > Forum > PHP
topik53
  1. <html>
  2. <head>
  3. <meta http-equiv="Content-type" content="text/html; charset=iso-8859-2" />
  4. </head>
  5. <body>
  6. <div>
  7. <form enctype="multipart/form-data" action="index.php" method="POST">
  8. <input name="img" type="file" />
  9. <input type="submit" value="Wyślij plik" />
  10. </form>
  11. </div>
  12.  
  13. <?php
  14.  
  15. //Pobieranie danych
  16. $plik_tmp = $_FILES['img']['tmp_name'];
  17. $nazwa = $_FILES['img']['name'];
  18. $rozmiar = $_FILES['img']['size'];
  19. ####################
  20. //Sprawdzanie rozszerzenia
  21. $r = explode(".",$nazwa);
  22. $roz = $r[1];
  23. #########################
  24.  
  25. do{
  26. $nazwaa=rand(1, 10);
  27. $test = file_exists($plik); //sprawdzenie czy plik istnieje
  28. $plik="load/".$nazwaa.'.'.$roz;
  29. }while(!$plik);
  30.  
  31. $plik="load/".$nazwaa.'.'.$roz;
  32. if(is_uploaded_file($plik_tmp)) {
  33. if($roz ='txt')
  34. {
  35. move_uploaded_file($plik_tmp, "$nazwa");
  36. echo "Plik: <strong>$nazwa</strong> o rozmiarze
  37. <strong>$rozmiar bajtów</strong> został przesłany na serwer!";
  38. rename("$nazwa", "load/".$nazwaa.'.'.$roz);
  39. echo 'link do pliku:<br />www.i9i.cba.pl/a/load/'.$nazwaa.'.'.$roz;
  40. }
  41. else{
  42. echo "inne niz txt nie moze kurwa byc";
  43. }
  44. }
  45.  
  46.  
  47. ?>
  48.  
  49. </body>
  50. </html>

Chcę żeby sprawdziło czy dany plik istnieje na serwerze jeżeli tak niech wylosuje liczbe(nazwe pliku) jeszcze raz,
Co jest źle? Jak to rozwiązać bez do.while?
wmatusiak
Zmień linie od 25 do 29 na
  1. do{
  2. $nazwaa = rand(1, 10);
  3. $plik = "load/".$nazwaa.'.'.$roz;
  4. }while(file_exists($plik));

i linie 35 na
  1. move_uploaded_file($plik_tmp, $plik);

Powinno zadziałać.
Jeśli chodzi o bez do ... while to możesz użyć dowolnej innej pętli ale jakąś pętle mieć musisz.
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę kliknij tutaj.
Invision Power Board © 2001-2025 Invision Power Services, Inc.