Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

> [MySQL][PHP]Kopiowanie do katalogu nadrzędnego
Ezoman
post
Post #1





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 24.04.2012

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


Tak jak w temacie. Nie wiem jak to zrobic. Mam taki kod:

  1. <?
  2. include "../../db.php";
  3.  
  4. //sprawdzanie czy plik istnieje
  5. if (file_exists('../../$filename'))
  6. {
  7. echo "Podstrona $filename juz istnieje!";
  8. die();
  9. }
  10.  
  11. //Dodawanie pliku do bazy
  12. $query = "INSERT INTO podstrony(filename, title, content, keywords, description) VALUES ('$filename', '$title', '$content', '$keywords', '$description')";
  13. mysql_query($query) or die (mysql_error());
  14. echo "Dane wrzucone do bazy danych<br>";
  15.  
  16. //Tworzenie noewgo pliku
  17. $file = '../../template.php';
  18. if (!copy($file, '../../$filename'))
  19. {
  20. echo "Tworzenie pliku $filename nie powiodło się!\n";
  21. }
  22. else
  23. {
  24. echo "Udalo się utworzyc plik ".$filename;
  25. echo "<br> Strona została utworzona";
  26. }
  27. ?>


Jest to plik addsite_exec.php. Ma on tworzyc nowa podstrone na postawie szablonu(tak naprawde to on tylko ma kopiowac szablon i zapisuwac ze zmieniona nazwa) Wszystko dizalalo dopoki cala strona byla w 1, glownym katalogu. Teraz chcialem zrobic porzadek i przenioslem pliki "CMSa" do katalogu admin. Ten plik akorat razem z plikiem z formularzem jest w admin/add

Jak to wykonam to nie ma zadnego bledu, dane dodaja sie do bazy ale plik sie nie tworzy. Jak wywale ../../ z fukcji copy to wtedy udaje sie normalnie stworzyc plik tyle ze w admin/add

nikt nie odpowie?
Go to the top of the page
+Quote Post
 
Start new topic
Odpowiedzi (1 - 2)
Swirek
post
Post #2





Grupa: Zarejestrowani
Postów: 221
Pomógł: 20
Dołączył: 4.05.2006
Skąd: Polska

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


a nie możesz spróbować ścieżki bezwzględnej?
masz ustawione prawa dostępu do katalogu?
otrzymujesz komunikat Strona została utworzona?

Ten post edytował Swirek 25.04.2012, 15:10:11
Go to the top of the page
+Quote Post
Ezoman
post
Post #3





Grupa: Zarejestrowani
Postów: 8
Pomógł: 0
Dołączył: 24.04.2012

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


Juz sobie poradziłem. Nie wiem co było problemem, w tej chwili wszystko działa jak nalezy. Najpierw przenioslem addsite_exec.php i addsite.php do admin i zadzialalo, potem przenioslem spowrotem i tez zaczelo dzialac. W tej chwili plik wyglada tak:

  1. <?
  2. //Todo: Zrobic dodawanie plikow do kategorii, nie tylko do glownego katalogu
  3.  
  4. //zmienne pomocnicze
  5. $dir_pages = "../../";
  6. $dir_filename = $dir_pages.$filename;
  7. $dir_config = $dir_pages."db.php";
  8. $file = $dir_pages."template.php";
  9.  
  10. include $dir_config;
  11.  
  12.  
  13. //sprawdzanie czy plik istnieje
  14. if (file_exists($dir_filename))
  15. {
  16. echo "Podstrona $filename istnieje!";
  17. die();
  18. }
  19.  
  20. //Dodawanie danych podstrony do bazy
  21. $query = "INSERT INTO podstrony(filename, title, content, keywords, description) VALUES ('$filename', '$title', '$content', '$keywords', '$description')";
  22. mysql_query($query) or die (mysql_error());
  23. echo "Dane dodane do bazy danych.<br>";
  24.  
  25. //Kopiowanie szablonu podstrony do nowego pliku podstrony
  26. copy($file, $dir_filename) or die ("Tworzenie pliku $filename nie powiodło się!");
  27.  
  28. //Jak wszystko poszlo dobrze...
  29. echo "Udalo się utworzyc podstronę ".$filename;
  30. echo "<br>Link do nowego pliku: <a href='$dir_filename'>Link</a>";
  31. echo "<br> Strona została utworzona!";
  32. ?>


Naprawde nie wiem o co chodzilo, wczesniej przeicez funkcja copy miala ten sam parametr 2, tyle ze nie w zmiennych. A zreszta, juz niewazne skoro dziala (IMG:style_emoticons/default/smile.gif)



co do komunikatu. Tak, otrzymywalem go ale albo robilo plik 0(bez rozszerzenia) w katalogu admin/add, albo wogole nie robilo, albo robilo plik o nazwie $filename... pewnie cos namieszalem w skladni i tyle.

Ten post edytował Ezoman 25.04.2012, 15:57:18
Go to the top of the page
+Quote Post

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: 16.09.2025 - 17:12