Copiare o upladare file in automatico

  • Creatore Discussione Creatore Discussione cusna
  • Data di inizio Data di inizio

cusna

Nuovo Utente
12 Feb 2010
15
0
1
Ciao,
ho 2 siti web che girano su apache/php, uno in locale con wamp ed uno in remoto su
piattaforma linux.
Vorrei creare uno script php da mettere in locale che mi faccia l' upload (o copy) in AUTOMATICO di tutti i file presenti in una cartella.
L' upload, o la copy, di destinazione deve essere una cartella del server remoto.
Fatto questo cancella i file che ha upladato.
Per automatico intendo per esempio ad una determinata ora senza l' intervento del' utente.
E' possibile ?
Naturamente ho le credenziali per accedere sia al locale che al remoto
Grazie
 
Che sia possibile farlo è quasi sicuro, ma avrei due domande:

1) Sul server linux che credenziali hai (ssh, ftp, ...)?
2) Perchè proprio in PHP? Non che non si possa, ma sicuramente ci sono linguaggi migliori (o anche software già pronti).
 
Ciao,
il server linux ho le credenziali FTP (è su aruba), il problema è che il server locale è in una rete dove il trasferimento FTP è bloccato, quindi dovrei usrae altri sistemi.
Non mi interessa usare il PHP va bene anche un altro sistema.
 
Bene, quindi credo che eliminando la possibilità di usare l'FTP l'unico altro modo per trasferire dei file su Aruba sia un bel POST su HTTP... Quindi lato server (di Aruba) va benissimo uno script PHP che gestisca gli upload, mentre dal client serve un programmino messo in cron che effettui gli upload dei file locali.
L'unico problema in questa procedura sono i limiti che saranno imposti sulla dimensione massima di upload gestibile da PHP su Aruba.

Per il lato server puoi vedere questo articolo.

Lato client, dato che da quello che ho capito hai un webserver con PHP, si può pure usare PHP per fare gli upload tramite la libreria cURL.

Prova a cercare qualcosa in giro su questo, poi se hai problemi o difficoltà ci risentiamo di nuovo qui.
 
Ciao, sto infatte usando curl e sono riuscito dal mio server locale a trasferire i file al server remoto di aruba tramite il metodo post.
Il problema è che dal server dell' azienda non riesco, lavora con un server proxy SQUID.
Ho modificato il file in questo modo:

PHP:
<?  
$ch = curl_init(); 
curl_setopt($ch, CURLOPT_URL, 'http://www.example.com'); 
curl_setopt($ch, CURLOPT_HEADER, 1); 
curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); 
curl_setopt($ch, CURLOPT_HTTPPROXYTUNNEL, 1); 
curl_setopt($ch, CURLOPT_PROXY, 'fakeproxy.com:1080'); 
curl_setopt($ch, CURLOPT_PROXYUSERPWD, 'user:password'); 
$data = curl_exec(); 
curl_close($ch); 
 ?>
ma non funziona, sto cercando di capire che errore genera.
Ci sentiamo appena ho effettuato altre prove
Grazie
 
E' possibile che il proxy richieda come protocollo di autenticazione NTLM, che deve essere settato esplicitamente

PHP:
curl_setopt($ch, CURLOPT_PROXYAUTH, CURLAUTH_NTLM);
 
Proverò come mi hai detto, per ora la riposta è:

*
Codice:
 About to connect() to proxy proxy.xx.xxx port 3128 (#0)
*   Trying 192.168.2.14... * connected
* Connected to proxy.xx.xxx (192.168.2.14) port 3128 (#0)
* Establish HTTP proxy tunnel to www.indirizzosuaruba.com:80
* Proxy auth using Basic with user 'username'
> CONNECT www.indirizzosuaruba.com:80 HTTP/1.1
Host: www.indirizzosuaruba.com:80
Proxy-Authorization: Basic bW9cZmVybmFuZG8uYm9jY2lhOkNsYXVkaW8yMDEw
Proxy-Connection: Keep-Alive

< HTTP/1.0 403 Forbidden
< Server: squid/2.7.STABLE7
< Date: Mon, 15 Nov 2010 17:01:35 GMT
< Content-Type: text/html
< Content-Length: 1045
< X-Squid-Error: ERR_ACCESS_DENIED 0
< X-Cache: MISS from squid
< X-Cache-Lookup: NONE from squid:3128
< Via: 1.0 squid:3128 (squid/2.7.STABLE7)
< Connection: close
< 
* Received HTTP code 403 from proxy after CONNECT
* Closing connection #0
 
Niente non funziona neppure con NTLM, cmq ho verificato e l' autentificazione dello squid è basic prelevandola da un file esterno.
 
Ciao ho risolto, mancava:

PHP:
 curl_setopt($ch, CURLOPT_PROXYTYPE,CURLPROXY_HTTP);
 
Strano che fosse quello, dovrebbe essere impostata così di default. E dalla risposta che avevi postato mi sembrava a posto, dato che ritornava solo un errore di autenticazione. Comunque meglio così.
 

Discussioni simili