![]() |
![]() |
![]() ![]()
Post
#1
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 16.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
Witam,
napotkałem na następujący problem mianowicie, posiadam skrypt który tworzy katalog z wygenerowaną nazwą tzn. Kod $nowykatalog = date("Y.m.d"); if (file_exists($nowykatalog)) { echo "<B>Katalog</B><font color=red> $nowykatalog </font><B>istnieje.</B>"; } else { echo "<B>Katalog</B><font color=red> $nowykatalog </font><B>nie istnieje.</B>"; mkdir($nowykatalog, 0755); chmod($nowykatalog, 0777); } następnie ma za zadanie utworzyc plik.txt w tym wygenerowanym katalogu. Czy ja dobrze kombinuję? Kod $nowyplik = '/costam/'.$nowykatalog.'/plik.txt'; if (file_exists($nowyplik)) { echo "<B>Plik</B><font color=red> $nowyplik </font><B>istnieje.</B>"; } else { echo "<B>Plik</B><font color=red> $nowyplik </font><B>nie istnieje.</B>"; $f = fopen($nowykatalog.'/plik.txt', 'a+'); fwrite($f, 'To jest nowa zawartosc pliku'); fclose($f); } Skrypt nie potrafi mi utworzyc pliku w tym katalogu. Macie jakies pomysły? Ten post edytował atasze 16.10.2007, 18:25:41 |
|
|
![]() |
![]()
Post
#2
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 10.07.2007 Skąd: Kozy Ostrzeżenie: (0%) ![]() ![]() |
Najprościel chyba :
Przy operacjach na plikach itd pamiętaj o odpowiednich prawach Ten post edytował bartekmedon 16.10.2007, 19:12:54 |
|
|
![]()
Post
#3
|
|
![]() Grupa: Zarejestrowani Postów: 4 Pomógł: 0 Dołączył: 16.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
1. jak używasz funkcji fwrite() to o ile się nie myle należy podać trzy argumenty -> fwrite($f,'To jest nowa zawartosc pliku',28); z czego ten ostatni określa liczbę bajtów, która mają być zapisane w pliku, stosuje się tylko jak chcesz zapisać tylko fragment ciągu znaków, jak zapisujesz całość to najlepiej użyć funkcji fputs($f, 'To jest nowa zawartosc pliku'); no dobra, ale to nie może być przyczyną że nie utworzy ci się nowy plik, albo?
![]() 2. poza tym mi wygląda wszystko na dobrze, ewentualnie może być że serwer na którym umieszczona jest stronka blokuje tą funkcję, spotkałem się z tym że darmowe serwisy hostingowe mają zablokowane używanie takich funkcji jak fopen() czy mail(). |
|
|
![]()
Post
#4
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 16.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
To nie wina serwera, ogólnie tworzy mi kazdy inny plik ale w katalogu nadrzednym a ja chce utworzyc ten plik w katalogu podrzędnym który co dzien dynamicznie sie generuje jesli ktos odpali skrypt z przegladarki. Kod strony wygląda następująco:
Error log: Kod Katalog 2007.10.16 istnieje.
Plik /costam/2007.10.16/plik.txt nie istnieje. Warning: fopen() [function.fopen]: open_basedir restriction in effect. File(/costam/2007.10.16/plik.txt) is not within the allowed path(s): (/home/fotoolek:/usr/lib/php:/usr/local/lib/php:/tmp) in /home/fotoolek/public_html/kamil/costam/test.php on line 22 Warning: fopen(/inwigilator/2007.10.16/plik.txt) [function.fopen]: failed to open stream: Operation not permitted in /home/fotoolek/public_html/kamil/costam/test.php on line 22 Warning: fputs(): supplied argument is not a valid stream resource in /home/fotoolek/public_html/kamil/costam/test.php on line 23 Warning: fclose(): supplied argument is not a valid stream resource in /home/fotoolek/public_html/kamil/costam/test.php on line 24 |
|
|
![]()
Post
#5
|
|
Grupa: Zarejestrowani Postów: 23 Pomógł: 0 Dołączył: 10.07.2007 Skąd: Kozy Ostrzeżenie: (0%) ![]() ![]() |
Ale jeśli ja dobrze widzę to kiedy Twój plik jeszcze nie istnieje stosujesz fopen z parametrem (2) a+ - a z tego co mi wiadomo a+ otwiera plik do odczytu oraz do dopisywania , ale nie pozwala na utworzenie pliku. Dlatego powinieneś użyć w+
|
|
|
![]()
Post
#6
|
|
![]() Grupa: Zarejestrowani Postów: 508 Pomógł: 75 Dołączył: 2.11.2005 Skąd: Bydgoszcz Ostrzeżenie: (0%) ![]() ![]() |
|
|
|
![]()
Post
#7
|
|
Grupa: Zarejestrowani Postów: 11 Pomógł: 0 Dołączył: 16.10.2007 Ostrzeżenie: (0%) ![]() ![]() |
Dzięki już sobie poradziłem z tym problemem, problem polegał na tym, że nie wskazałem bezwzględnej ścieżki do pliku.
![]() |
|
|
![]() ![]() |
![]() |
Wersja Lo-Fi | Aktualny czas: 19.07.2025 - 09:03 |