Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Problem z mkdir() [function.mkdir]
Forum PHP.pl > Forum > PHP
kaiba55
Witam serdecznie. Zaczynam pisać proste skrypty w php. Zacząłem od sb bo to łatwa sprawa. Staram się go udoskonalać. Wyczytałem funkcje która sama utworzy plik i nada mu odpowiednie chmody. Wykorzystałem, tylko mam problem.

Najpierw podam mój kod:

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html>
  3. <head>
  4. <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  5. <title>Kaiba</title>
  6. </head>
  7.  
  8. <?php
  9.  
  10. $nazwa_pliku = '/sciezka/do/pliku.txt';
  11.  
  12. if (file_exists($nazwa_pliku)) {
  13. echo "Plik $nazwa_pliku istnieje";
  14. } else {
  15. $dir = "baza.txt";
  16. mkdir($dir, 0777);
  17. }
  18.  
  19.  
  20.  
  21.  
  22. $data = date("H:i:s");
  23. $imie = trim($_POST['imie']);
  24. $wpis = trim($_POST['wpis']);
  25. $dane = "$imie";
  26.  
  27. if (empty($imie)) {
  28. echo "<form action=\"\" method=\"POST\"><input type=\"text\" name=\"imie\" ><input type=\"text\" size=\"50\" name=\"wpis\"><input type=\"submit\" value=\"Zobacz\" class=\"button\"></form>";
  29. }
  30. else
  31. {
  32. $wpis = "$data - $imie - $wpis<br>";
  33. $zapisz_do ="baza.txt";
  34. $zapisz = fopen($zapisz_do, "a");
  35. flock($zapisz, 2);
  36. fwrite($zapisz, $wpis);
  37. flock($zapisz, 3);
  38. fclose($zapisz);
  39. echo "<form action=\"\" method=\"POST\"><input type=\"text\" color=\"#FFCC33\" name=\"imie\" ><input type=\"text\" size=\"50\" name=\"wpis\"><input type=\"submit\" value=\"Zobacz\" class=\"button\"></form>";
  40. }
  41. include("baza.txt");
  42.  
  43. ?>


Na stronie www.darmowy-katalog-stron.compblog.pl mam błąd:
  1. Warning: mkdir() [function.mkdir]: File exists in /home/kaiba/domains/compblog.pl/public_html/darmowy-katalog-stron/index.php on line 16


Jestem prawie pewny że jest spowodowany tym, że plik istnieje a funkcja chce go jeszcze raz stworzyć. Zdało by się to zrobić jakąś pętlą.
Myślałem o takim rozwiązaniu:


  1. <?php
  2. $nazwa_pliku = '/sciezka/do/pliku.txt';
  3.  
  4. if (file_exists($nazwa_pliku)) {
  5. echo "Plik $nazwa_pliku istnieje";
  6. } else {
  7. echo "Plik $nazwa_pliku nie istnieje";
  8. }
  9. ?>


Tylko nie wiem czy idzie to tak zrobić. Możecie pomóc. Pozdro.
Naprawiłem już. Thx
laohost
W 16 linice tworzysz katalog o nazwie plik.txt, następnie później zapisujesz plik o tej samej nazwie.
blooregard
  1. if (file_exists($nazwa_pliku)) {
  2. echo "Plik $nazwa_pliku istnieje";
  3. } else {
  4. $dir = "baza.txt";
  5. mkdir($dir, 0777);
  6. }

Poczytaj, co robi funkcja mkdir
kaiba55
czytałem że dzięki jej stworze plik i nadam mu chmody, popatrz dalej to samo


oto obecny kod:

  1. <!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN">
  2. <html>
  3. <head>
  4. <meta http-equiv="content-type" content="text/html; charset=UTF-8">
  5. <title>Kaiba</title>
  6. </head>
  7.  
  8. <?php
  9.  
  10. if (file_exists($baza.txt)) {
  11. echo "Plik $baza.txt istnieje";
  12. } else {
  13. $dir = "/baza.txt";
  14. mkdir($dir, 0777);
  15. }
  16.  
  17. $data = date("H:i:s");
  18. $imie = trim($_POST['imie']);
  19. $wpis = trim($_POST['wpis']);
  20. $dane = "$imie";
  21.  
  22. if (empty($imie)) {
  23. echo "<form action=\"\" method=\"POST\"><input type=\"text\" name=\"imie\" ><input type=\"text\" size=\"50\" name=\"wpis\"><input type=\"submit\" value=\"Zobacz\" class=\"button\"></form>";
  24. }
  25. else
  26. {
  27. $wpis = "$data - $imie - $wpis<br>";
  28. $zapisz_do ="baza.txt";
  29. $zapisz = fopen($zapisz_do, "a");
  30. flock($zapisz, 2);
  31. fwrite($zapisz, $wpis);
  32. flock($zapisz, 3);
  33. fclose($zapisz);
  34. echo "<form action=\"\" method=\"POST\"><input type=\"text\" color=\"#FFCC33\" name=\"imie\" ><input type=\"text\" size=\"50\" name=\"wpis\"><input type=\"submit\" value=\"Zobacz\" class=\"button\"></form>";
  35. }
  36. include("baza.txt");
  37.  
  38. ?>


Są błędy: http://www.darmowy-katalog-stron.compblog.pl/index.php
A po wysłaniu zostaje jeden
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.