Pomoc - Szukaj - Użytkownicy - Kalendarz
Pełna wersja: Zmiana chmod pliku na serwerze
Forum PHP.pl > Forum > PHP
chico
Witam, Moj kod PHP tworzy nowe katalogi w oparciu o maly formularz HTML, w ktorym uzytkownik podaje nazwe folderu i zatwierdza dodanie katalogu. Foldery sa tworzone w katalogu nadrzednym chmodowanym na ~777. Jednakze mimo, iz staram sie podczas ich tworzenia (tych katalogow o nazwach definiowanych przez uzytkownika) nadac im wybrane atrybuty (chmod) nadal pozostaje im chmod ~755, co wiecej, podczas proby ich zmiany przez Total Commandera wyskakuje komunikat "Nie moge zmienic atrybutow zdalnych plikow". Kod wykonujacy te operacje to:
CODE
if ($dp == "dodaj przedmiot") { $przedmiot_bez = $przedmiot; $znajdz = array('ą', 'ć', 'ę', 'ł', 'ó', 'ź', 'ż', ' '); $zamien = array('a', 'c', 'e', 'l', 'o', 'z', 'z', '_'); $przedmiot_bez = str_replace($znajdz, $zamien, $przedmiot_bez); fopen ("kursy/".$przedmiot_bez.".txt", "w"); mkdir("kursy/".$przedmiot_bez, 0777); echo 'dodano nowy przedmiot: '.$przedmiot;}
To wlasnie katalog "kursy" jest chmodowany na ~777--A od strony HTML wyglada to tak:
CODE
echo '<form ACTION="" method="post">'.'Nazwa Przedmiotu: <br><input TYPE="text" name="przedmiot"><br><br>'.'<input TYPE="submit" name="dp" value="dodaj przedmiot"><br><br>' .'</form>';
Szczerze powiedziawszy nie wiem co sie dzieje i skad taka "reakcja" serwera, pewnie jakas glupia sprawa z mojej strony, aczkolwiek sprawe moze rozwiazuje tylko nadawanie chmod przez przegladarke? Nie bardzo moge sobie na to pozwolic... :/Moze ktos widzi blad mojego myslenia przy nadawaniu chmodow i naprowadzi mnie na temat rozwiazujacy moj problem?


---
OK, problem rozwiazany ;-)jakby ktos kiedys mial podobny, podaje rozwiazanie:
CODE
$umask_stary = umask (0);mkdir("katalog/nowy",0777);umask($umask_stary);
kompletnie zapomnialam wartosci parametru umask! Temat do zamkniecia.
templar
Zawsze możesz użyć

  1. <?php
  2. chmod('/nazwa/katalogu', 0777);
  3. ?>
chico
Cytat(templar @ 12.09.2007, 10:40:08 ) *
Zawsze możesz użyć

  1. <?php
  2. chmod('/nazwa/katalogu', 0777);
  3. ?>



Tak, ale to nie zmienia faktu, że trzeba wyzerowac umask, bo mimo wszystko od "chmodowanej" wartości zostaie odjeta wartość umask ;-)
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.