Elektroda.pl
Elektroda.pl
X
Servizza
Proszę, dodaj wyjątek www.elektroda.pl do Adblock.
Dzięki temu, że oglądasz reklamy, wspierasz portal i użytkowników.

[PHP] Kopiowanie z jednego serwera na drugi

MrAdalbert 19 Gru 2011 17:54 2357 13
  • #1 19 Gru 2011 17:54
    MrAdalbert
    Poziom 14  

    Witam
    Jak w temacie, mam problem z kopiowaniem plików między serwerami. Do wykonania operacji użyłem skryptu:

    Kod: php
    Zaloguj się, aby zobaczyć kod

    Pragnę zaznaczyć, że mało się znam na PHP i rozumiem z kodu tyle co ile.
    Problem polega na tym, że skrypt nie jest w stanie ukończyć plików większych niż 4MB tj. efektem jego pracy jest plik o rozmiarze "3,99MB (4,194,296 bytes)".
    Po takiej operacji kopiowania otrzymuję komunikat "Received a invalid response". Skrypt i folder zapisu mają CHMOD 777. Korzystam z hostingu na 000webhost.
    Czy mógłby mi ktoś wyjaśnić na czym polega problem?

    0 13
  • Servizza
  • #2 19 Gru 2011 18:00
    Dżyszla
    Poziom 42  

    Z tego, co się orientuję to przyczyny są dwie:
    1. Może istnieć ograniczenie PHP na serwerze odbierającym (zmienna post_max_size oraz upload_max_filesize)
    2. Coś mi się kołacze, że same formularze też trzeba było przystosować do odbioru wiekszych plików, ale pewności nie mam.

    0
  • Servizza
  • #3 19 Gru 2011 18:43
    MrAdalbert
    Poziom 14  

    Na stronie, z której pobrałem skrypt
    ,,http://www.bbproject.net/2010/01/kopiowanie-pliku-miedzy-serwerami-w-php/"
    jedna osoba napisała:

    ,,Rozwiązanie proste, choć ma spore ograniczenia. Dla małych projektów sprawdzi się w przypadku większych plików może być spory problem. Dużo również zależy od administratora serwera czy pozwoli na wykonanie takiej operacji. Dodatkowo należało by zadbać o uprawnienia kopiowanego pliku."

    post_max_size = 2M
    upload_max_filesize = 2M

    Mimo to skrypt dawał radę wsunąć 4MB. Można go zmodyfikować, aby wsuwał pliki większe? Jeśli tak to poprosiłbym o konkretne propozycje modyfikacji, ponieważ jak już pisałem kiepsko się na tym znam.

    Dodano po 2 [minuty]:

    Ewentualnie mógłbym poprosić o adres jakiegoś serwera realizującego połączenia FTP, który wrzucałby pliki z adresu URL

    0
  • #4 19 Gru 2011 19:14
    Dżyszla
    Poziom 42  

    No właśnie poradą jest modyfikacja tych zmiennych.

    Połączenie FTP możesz równie dobrze realizować z poziomu PHP. Jest też inna droga - jeśli masz możliwość modyfikacji kodu po obu stronach, to możesz tylko via HTTP nakazać drugiemu serwerowi rozpoczęcie pobierania pliku również via HTTP z określonego adresu. Z kolei drugi serwer może poinformować o zakończeniu. W tym przypadku zauważ, że oba serwery muszą informować siebie nawzajem niezależnym kanałem o operacji. W takim przypadku w zasadzie nie masz limitów wielkości. Co najwyżej zaczną grać rolę timeouty.

    0
  • #5 19 Gru 2011 19:26
    MrAdalbert
    Poziom 14  

    Tak się składa, że mam dostęp do drugiego serwera(który też jest hostingiem). Tylko teraz na przeszkodzie stoi Programowanie. Mówiłem, że się na tym zbytnio nie znam. Jeśli ktoś zna jakiś skrypt, w którym podstawiał bym dane do wykonania transakcji FTP lub do obsługi propozycji Dżyszli to poprosiłbym o niego.

    0
  • #7 20 Gru 2011 22:47
    MrAdalbert
    Poziom 14  

    Kod: php
    Zaloguj się, aby zobaczyć kod

    Wrzuciłem to na serwer(prv.pl) do katalogu z interesującymi mnie plikami i... Nic.

    0
  • #9 21 Gru 2011 17:25
    MrAdalbert
    Poziom 14  

    Nic. W dosłownym tego słowa znaczeniu(white screen).
    Ma ktoś jeszcze jakiś pomysł? Co można zrobić ze skryptem z 1 postu, aby przechodziły duże pliki?

    Dodano po 19 [minuty]:

    Kod: php
    Zaloguj się, aby zobaczyć kod


    Dostałem komunikat:

    Parse error: syntax error, unexpected T_VARIABLE in /home/a5111285/public_html/ftp/ftp2.php on line 3

    Zaznaczę, że zmieniłem serwer i próbuję pobrać plik.

    0
  • #11 21 Gru 2011 19:47
    MrAdalbert
    Poziom 14  

    Zauważyłem to niedługo po wysłaniu postu. Po zmianie na:

    Kod: php
    Zaloguj się, aby zobaczyć kod

    dalej to samo

    0
  • #13 21 Gru 2011 20:25
    MrAdalbert
    Poziom 14  

    Tak właśnie

    0