Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: [MySQL][PHP]Zapisywanie pliku do katalogu
Forum PHP.pl > Forum > Przedszkole
Ezoman
Mam problem z tym kodem:

  1. <?
  2. //Todo: Zrobic dodawanie plikow do kategorii, nie tylko do glownego katalogu
  3. //zmienne ogolne
  4. include "/home/universe/public_html/niezmienne/var.php";
  5. include $dir_config;
  6.  
  7. //zmienne pomocnicze
  8. $dir_directory = $directory."/";
  9. $dir_only_newfile = $dir_main.$dir_directory;
  10. $dir_newfile = $dir_main.$dir_directory.$filename;
  11.  
  12.  
  13. //sprawdzanie czy plik istnieje
  14. if (file_exists($dir_newfile))
  15. {
  16. echo "Plik $filename istnieje!";
  17. die();
  18. }
  19.  
  20. //Dodawanie danych podstrony do bazy
  21. $query = "INSERT INTO podstrony(filename, title, content, keywords, description, dir) VALUES ('$filename', '$title', '$content', '$keywords', '$description', '$dir_only_newfile')";
  22. mysql_query($query) or die (mysql_error());
  23. echo "Dane dodane do bazy danych.<br>";
  24.  
  25. //tworzenie katalogu jesli nie istnieje
  26. if (!file_exists($dir_main.$directory)) {
  27. mkdir($dir_main.$dir_directory, 0777, true);
  28. }
  29.  
  30. //Kopiowanie szablonu podstrony do nowego pliku podstrony
  31. copy($template, $dir_newfile) or die ("Tworzenie pliku $filename nie powiodło się!");
  32.  
  33. //Jak wszystko poszlo dobrze...
  34. echo "Udalo się utworzyc podstronę ".$filename;
  35. echo "<br>Link do nowego pliku: <a href='$dir_filename'>Link</a>";
  36. echo "<br> Strona została utworzona!<br>";
  37. echo "<a href='addsite.php'>Wróć do dodawania podstron</a>";
  38. ?>



Blad:

Warning: copy() [function.copy]: open_basedir restriction in effect. File() is not within the allowed path(s): (/home/:/home2/:/home3/:/tmp) in /home/universe/public_html/admin/add/addsite_exec.php on line 31
Tworzenie pliku ahp.php nie powiodło się!

folder jesli go nie ma to udaje sie go stworzyc, ale pliku w nim zapisac juz nie. Udaje sie tez stworzyc kilka folderow np. wpisujac w formularzu test/test/a/b/c tworza sie takie foldery. Tylko czemu nie da sie zapisac plikow?


#edit

Ehh... przepraszam za temat. Caly czas skupialem sie na celu kopiowania(chyba z 1h sie z tym mecze...) a okazalo sie ze blad byl w zrodle. Wpisalem $template, a zmienna nazywala sie $dir_template. Temat do usuniecia
maniana
Cytat
open_basedir restriction in effect
jest wywołany przez php który w swoich ustawieniach (open_basedir w php.ini) ma podane ścieżki do których ma dostęp skrypt (zabezpieczenie przed wyjściem z katalogu głównego konta). Zobacz co masz ustawione. Teoretycznie chyba powinien wystarczyć wpis z /home, ew. dodaj tam pełną ścieżkę do swojego projektu.
Ezoman
maniana: juz sobie poradzilem, napisalem w edicie jak, ale dzieki za odpowiedz.

Wkleje tu edita zeby byl widoczny:

#edit

Ehh... przepraszam za temat. Caly czas skupialem sie na celu kopiowania(chyba z 1h sie z tym mecze...) a okazalo sie ze blad byl w zrodle. Wpisalem $template, a zmienna nazywala sie $dir_template. Temat do usuniecia
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.