function ftp_upload($plik,$name) { $localfile = $plik; $ftpserver = "tutaj serwer ftp"; $ftppath = "/katalog/"; $ftpuser = "user"; $ftppass = "haslo"; $remoteurl = "ftp://${ftpuser}:${ftppass}@${ftpserver}${ftppath}/${name}"; $ch = curl_init(); curl_setopt($ch, CURLOPT_NOPROGRESS, false); curl_setopt($ch, CURLOPT_URL, $remoteurl); curl_setopt($ch, CURLOPT_UPLOAD, 1); curl_setopt($ch, CURLOPT_INFILE, $fp); curl_setopt($ch, CURLOPT_PROGRESSFUNCTION, 'callback'); $error = curl_exec($ch); curl_close($ch); }
Plik uploaduje OK, ale niestety odbywa się to niewiarygodnie wolno! Ten sam plik na tym samym serwerze przez FileZille uploaduje kilka razy szybciej, a więc to nie wina hostingu czy osiągów łącza. Dlaczego tak się dzieję?
Szukałem w google i znalazłem kilka tematów z takimi problemami na zagranicznych forach, ale bez konkretnej odpowiedzi.
Jeżeli to dla curl normalne, to może inna metoda, ale poprzez PHP a nie zewnętrzne klienty (bo tak to wiem kiedy wysyłanie się zakończy, a tak to np. wywołam program konsolowy i nie wiem co się dzieje i kiedy wyśle i czy wyśle poprawnie)?
Proszę o pomoc