Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> [PHP]Kopiowanie plików w sieci lokalnej
busyboy
post 19.08.2014, 13:04:04
Post #1





Grupa: Zarejestrowani
Postów: 191
Pomógł: 0
Dołączył: 22.02.2004

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


Witam Serdecznie

Co do kopiowania plików między forledrami nie ma problemu np.

  1. rename("123.xml", "123.txt");


I przy okazji od razu usuwa stary plik biggrin.gif

A co w przypadku gdy chce przenieść / skopiować plik w sieci lokalnej np. pod adres : \\192.168.0.226\temp\

Bardzo proszę o wskazówkę jak to zrobić

Pozdrawiam
BusyBoy
Go to the top of the page
+Quote Post
tzm
post 19.08.2014, 13:06:33
Post #2





Grupa: Zarejestrowani
Postów: 675
Pomógł: 58
Dołączył: 17.12.2013

Ostrzeżenie: (10%)
X----


http://php.net/manual/en/function.copy.php
Go to the top of the page
+Quote Post
Randallmaster
post 19.08.2014, 13:07:07
Post #3





Grupa: Zarejestrowani
Postów: 677
Pomógł: 11
Dołączył: 18.11.2009

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


http://phpkurs.pl/operacje-na-plikach/

Wujek Google pomaga smile.gif
Go to the top of the page
+Quote Post
busyboy
post 19.08.2014, 13:10:15
Post #4





Grupa: Zarejestrowani
Postów: 191
Pomógł: 0
Dołączył: 22.02.2004

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


Tak tylko jak wpisuje

  1. rename("123.xml", "\\192.168.0.226\orders\123.txt");


To mi nie działa sad.gif

Ten post edytował busyboy 19.08.2014, 13:12:55
Go to the top of the page
+Quote Post
Turson
post 19.08.2014, 13:11:45
Post #5





Grupa: Zarejestrowani
Postów: 4 291
Pomógł: 829
Dołączył: 14.02.2009
Skąd: łódź

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


Znaki " nie są tam bez powodu, więc zajrzyj do podstaw PHP do czego sluzą.
Go to the top of the page
+Quote Post
Rysh
post 19.08.2014, 13:14:14
Post #6





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

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


Cytat(busyboy @ 19.08.2014, 14:04:04 ) *
Witam Serdecznie

Co do kopiowania plików między forledrami nie ma problemu np.

  1. rename("123.xml", "123.txt");


I przy okazji od razu usuwa stary plik biggrin.gif

A co w przypadku gdy chce przenieść / skopiować plik w sieci lokalnej np. pod adres : \\192.168.0.226\temp\

Bardzo proszę o wskazówkę jak to zrobić

Pozdrawiam
BusyBoy

Rename - jak sama nazwa wskazuje, nie służy do kopiowania tylko do zmiany nazwy pliku - i tak masz w manualu.

Tak jak napisał Ci mitorski, sprawdź tą funkcję:
http://php.net/manual/en/function.copy.php


--------------------
Go to the top of the page
+Quote Post
busyboy
post 19.08.2014, 13:29:22
Post #7





Grupa: Zarejestrowani
Postów: 191
Pomógł: 0
Dołączył: 22.02.2004

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


Już próbowałem na wszystkie sposoby z manuala

  1. if(!@copy('123.xml','.//192.168.0.226/orders/123.txt'))
  2. {
  3. $errors= error_get_last();
  4. echo "COPY ERROR: ".$errors['type'];
  5. echo "<br />\n".$errors['message'];
  6. } else {
  7. echo "File copied from remote!";
  8. }


Może ktoś mi poda jakieś wskazówki ?
Go to the top of the page
+Quote Post
tzm
post 19.08.2014, 13:40:17
Post #8





Grupa: Zarejestrowani
Postów: 675
Pomógł: 58
Dołączył: 17.12.2013

Ostrzeżenie: (10%)
X----


Kod
<?php
    echo 'postawy php - funkcja copy';
    $from = '1/1.png'; // skąd
    $to = '2/1.png'; // dokąd
    copy($from, $to);
?>


Kopiuje bezbłędnie.
Go to the top of the page
+Quote Post
busyboy
post 19.08.2014, 13:41:42
Post #9





Grupa: Zarejestrowani
Postów: 191
Pomógł: 0
Dołączył: 22.02.2004

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


Tak wiem, tylko zauważ że tu jest adres sieci lokalnej

  1. //192.168.0.226/orders/123.txt


i z tym nie działa sad.gif

Tak działa poprawnie

  1. if(!@copy('123.xml','123\123.txt'))
  2. {
  3. $errors= error_get_last();
  4. echo "COPY ERROR: ".$errors['type'];
  5. echo "<br />\n".$errors['message'];
  6. } else {
  7. echo "File copied from remote!";
  8. }


i to się zgadza... ale z adresem lokalnej sieci nie chce skopiować...

Ten post edytował busyboy 19.08.2014, 13:43:02
Go to the top of the page
+Quote Post
Rysh
post 19.08.2014, 13:52:58
Post #10





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

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


  1. $source = '//192.168.0.226/orders/123.txt';
  2. $get = file_get_contents($source);
  3. file_put_contents('123.txt', $get);


Ten post edytował Rysh 19.08.2014, 13:53:41


--------------------
Go to the top of the page
+Quote Post
Pyton_000
post 19.08.2014, 14:01:29
Post #11





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


  1. copy("123.xml", "\\\\192.168.0.226\\orders\\123.txt");
Go to the top of the page
+Quote Post
busyboy
post 19.08.2014, 14:05:20
Post #12





Grupa: Zarejestrowani
Postów: 191
Pomógł: 0
Dołączył: 22.02.2004

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


Dziękuje za wskazówki ale to rozwiązanie też mi nie działa sad.gif

  1. if(!@copy('123.txt', '\\\\192.168.0.226\\orders\\123.txt'))
  2. {
  3. $errors= error_get_last();
  4. echo "COPY ERROR: ".$errors['type'];
  5. echo "<br />\n".$errors['message'];
  6. } else {
  7. echo "File copied from remote!";
  8. }
Go to the top of the page
+Quote Post
Pyton_000
post 19.08.2014, 14:09:36
Post #13





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


a nie działa bo? Jakiś error? i wywal tą @. masz podmontowany taki zasób do którego kopiujesz?
Go to the top of the page
+Quote Post
tzm
post 19.08.2014, 14:09:51
Post #14





Grupa: Zarejestrowani
Postów: 675
Pomógł: 58
Dołączył: 17.12.2013

Ostrzeżenie: (10%)
X----


http://stackoverflow.com/questions/2159941...folder-in-a-lan

tylko nie mów że nie znasz angielskiego..
Go to the top of the page
+Quote Post
Rysh
post 19.08.2014, 14:11:13
Post #15





Grupa: Zarejestrowani
Postów: 821
Pomógł: 111
Dołączył: 11.09.2006
Skąd: Biała Podlaska

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


Po pierwsze nie mutuj co Ci zwraca funkcja (czyli nie dawaj znaku @ przed funkcją), a po drugie po co negujesz warunek? Skoro i tak dajesz else, zawsze to jedno obliczenie mniej, ale durne nawyki potrafią się mnożyć.

  1. if(copy('123.txt', '\\\\192.168.0.226\\orders\\123.txt')) {
  2. echo "File copied from remote!";
  3. } else {
  4. $errors= error_get_last();
  5. echo "COPY ERROR: ".$errors['type'];
  6. echo "<br />\n".$errors['message'];
  7. }


Na koniec pokazuj co Ci krzyczy w przeglądarce.


--------------------
Go to the top of the page
+Quote Post
busyboy
post 20.08.2014, 07:29:39
Post #16





Grupa: Zarejestrowani
Postów: 191
Pomógł: 0
Dołączył: 22.02.2004

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


Przeglądarka mi krzyczy taki błąd :

  1. Warning: copy(\\192.168.0.226\orders\123.txt) [function.copy]: failed to open stream: Permission denied in C:\Program Files\VertrigoServ\www\test\index.php on line 64
  2. COPY ERROR: 2
  3. copy(\\192.168.0.226\orders\123.txt) [function.copy]: failed to open stream: Permission denied


Czy oprócz kodu php należy coś jeszcze znić w pliki php.ini albo gdzieś w otoczeniu sieciowym ?

Ten post edytował busyboy 20.08.2014, 07:30:08
Go to the top of the page
+Quote Post
tzm
post 20.08.2014, 07:34:15
Post #17





Grupa: Zarejestrowani
Postów: 675
Pomógł: 58
Dołączył: 17.12.2013

Ostrzeżenie: (10%)
X----


Czyli albo jesteś leń, albo nie znasz angielskiego.
Bo rzuciłem linka odnośnie uprawnień dostępu.
Go to the top of the page
+Quote Post
busyboy
post 25.08.2014, 13:07:51
Post #18





Grupa: Zarejestrowani
Postów: 191
Pomógł: 0
Dołączył: 22.02.2004

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


tzm - niestety nie ogarniam tego... sad.gif może mój angielski nie jest w takim stopniu abym zrozumiał to co jest napisane sad.gif
Go to the top of the page
+Quote Post
Pyton_000
post 25.08.2014, 13:16:19
Post #19





Grupa: Zarejestrowani
Postów: 8 068
Pomógł: 1414
Dołączył: 26.10.2005

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


Ekhmm...
https://translate.googleusercontent.com/tra...WoPPbh1PwD8LvvA
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: 14.08.2025 - 05:08