Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]mkdir mapowany dysk
inespew
post 14.01.2011, 08:53:07
Post #1





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 18.11.2010

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


Witam

Chciałbym utworzyć katalog na dysku który jest podmapowany np. Skrypt odpalam na kompie A i do niego jest podmapowany dysk z komputera B jako Z:\.

Niżej moje próby które nie zadziałały:

  1. <?php
  2. echo shell_exec('mkdir \\nazwa_komputera_B\katalog_mapowany\katalog_tworzony');
  3. ?>


  1. <?php
  2. echo shell_exec('mkdir Z:\katalog_tworzony');
  3. ?>


  1. <?php
  2. mkdir ("Z:\katalog_tworzony");
  3. ?>


  1. <?php
  2. mkdir ("\\nazwa_komputera_B\katalog_mapowany\katalog_tworzony");
  3. ?>


Może ktoś miał taki problem i znalazł rozwiązanie?

Pozdraiwam
Go to the top of the page
+Quote Post
thek
post 14.01.2011, 09:02:04
Post #2





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Ale przecież mapowanie możesz robić tylko na własnym kompie. Ty na serwerze możesz jedynie utworzyć katalog. mapowanie klient musi zrobić we własnym zakresie. Wyobrażasz sobie co by było, gdyby strona tworzyła sobie katalog na serwerze i usera zmuszała do zmapowania go jako C: ? Pomyślałeś o tym? smile.gif

Jeśli dobrze rozumiem, to rozwiązanie o którym piszesz zapewne podchodzi pod linkowanie do katalogu.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
inespew
post 14.01.2011, 09:21:49
Post #3





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 18.11.2010

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


To będzie chodziło tylko lokalnie. Chcę aby skrypt uruchamiany z komputera A tworzył katalog na komputerze B, który udostępnia katalog lub partycję w sieci lokalnej i jest podmapowany na komputerze A np jako Z:\
Go to the top of the page
+Quote Post
thek
post 14.01.2011, 09:41:25
Post #4





Grupa: Moderatorzy
Postów: 4 362
Pomógł: 714
Dołączył: 12.02.2009
Skąd: Jak się położę tak leżę :D




Popatrz co by musiał skrypt zrobić:
1) Przejść do kompa innego usera( pytanie czy Ci na to pozwoli )
2) Założyć na kompie tego usera katalog
3) Założyć link na ten katalog.

Dla pewności więc najpierw spróbowałbym podłączyć się do mapowanego dysku, czy mam do niego dostęp. Od tego bym uzależniał czy utworzę katalog czy nie. Jeśli ok, to dopiero teraz próbuję i sprawdzam, bo mogę nie mieć uprawnień do zapisu. Jeśli się powiodło, to próbuję utworzyć link. I tu znowu mam zgryz, bo tworzenie linków jest problematyczne w windowsie, który w zależności od wersji inaczej to rozwiązuje. Tutaj funkcje php do ich tworzenia nie muszą zadziałać. Obsługa hard i symlinków tak naprawdę, mimo iż jest rzekomo od XP tak naprawdę istnieje dopiero od Visty. W XP nie idzie zrobić z tego co kojarzę symlinka i tylko hardlink działa (a może na odwrót? nie pamiętam smile.gif ). Na dodatek jest to rozwiązane kiepsko, bo usunięcie nieumiejętne go powoduje usunięcie nie samego dowiązania, ale całej zawartości kryjącej się pod dowiązaniem. Innymi słowy czyścisz katalog docelowy.


--------------------
Najpierw był manual... Jeśli tam nie zawarto słów mądrości to zapytaj wszechwiedzącego Google zadając mu własciwe pytania. A jeśli i on milczy to Twój problem nie istnieje :D
Go to the top of the page
+Quote Post
batman
post 14.01.2011, 09:56:56
Post #5





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Najpierw musisz odpowiedzieć na pytanie jakie są to systemy operacyjne i czy użytkownik z jakiego uruchamiany jest PHP ma prawa do zapisu w podanej lokalizacji. Po drugie - w jaki sposób uruchamiasz skrypt? W przeglądarce, czy z wiersza poleceń? No i na koniec (w sumie pytanie to powinno być na początku) - czy Ty jako użytkownik możesz tworzyć katalogi w wybranej lokalizacji?

P.S.
Wklej komunikaty błędów, które się pojawiają. A jeśli się nie pojawiają, to sprawdź w logach jakie wystąpiły błędy.


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
inespew
post 14.01.2011, 10:33:50
Post #6





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 18.11.2010

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


KomputerA: windows 2008 server+xampp tam jest uruchamiany skrypt.
KomputerB: windows 2003 server, tam jest dysk docelowy.

Na A podmapowany jest katalog z B. Skrypt jest uruchamiany z przeglądarki (tylko w sieci lokalnej) w momencie dodawania nowego rekordu do bazy. Z poziomu windowsa 2008 mogę robić wszystko na zmapowanym katalogu.

Udało mi się częsciowo rozwiązać problem tworząc katalog przez ftp.
Go to the top of the page
+Quote Post
batman
post 14.01.2011, 10:44:49
Post #7





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Prawdopodobnie problemem są ścieżki. Zrób tak:
  1. mkdir ("\\\\nazwa_komputera_B\\katalog_mapowany\\katalog_tworzony");


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post
inespew
post 14.01.2011, 12:16:28
Post #8





Grupa: Zarejestrowani
Postów: 21
Pomógł: 0
Dołączył: 18.11.2010

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


Tak problem był w ścieżce, dziwne, że tak to się zapisuję.

Dzieki za pomoc.
Go to the top of the page
+Quote Post
batman
post 14.01.2011, 12:37:21
Post #9





Grupa: Moderatorzy
Postów: 2 921
Pomógł: 269
Dołączył: 11.08.2005
Skąd: 127.0.0.1




Nie ma w tym nic dziwnego. Backslash postawiony przed jakimś znakiem może oznaczać wiele, np \t - tabulacjam \n - nowy wiersz, itd. Dlatego zazwyczaj znak ten należy "eskejpować", czyli dodawać przed nim kolejnego backslasha. W przypadku ścieżek Windowsa może to być nieco niewygodne. Z tego właśnie względu powinno stosować się DIRECTORY_SEPARATOR, który teoretycznie powinien rozwiązać problem.


--------------------
I would love to change the world, but they won't give me the source code.
My software never has bugs. It just develops random features.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 22.05.2025 - 04:08