Newsgroup: it.comp.www.php
Titolo: scambio files tramite php

Ho necessità di scambiare files fra due hosts, entrambi windows, senza
che l'utente sia costretto ad aprire il browser ed eseguire manualmente
l'invio. Come fare con php usato da cli?
Ho provato il "server telnet" di esempio che ho trovato nel manuale
online ufficiale di php; però esce con un errore subito dopo l'invio
della stringa di 'benvenuto' al client.
A me occorre arrivare a fare uno scambio di un file fra due hosts, ma
temo di esserne ancora piuttosto lontano.
Ho letto su un sito che i socket col php sotto windows non funzionano;
e che pertanto è necessario usare perl. Vorrei capire quanto ciò sia
vero (php 4.3.11), perché una connessione da php verso apache pare
funzionare; ma il suddetto serverino telnet cade restituendo un errore
non appena trasmette la stringa al client.
Eventualmente, siccome ho apache a disposizione, è possibile iniziare
una connessione da php verso apache, e usare quest'ultimo
(eventualmente con script dal suo lato) per 'depositare' il file da
qualche parte sulla macchina che lo ospita? Sarebbe sufficiente.
Inoltre devo tenere presente che la connessione deve avvenire anche in
presenza di proxy server; pertanto gli scambi potrebbero avvenire solo
sulla porta 80 e con protocollo TCP. Non ho ancora visto un esempio, o
un cenno, di connessione stabilita attraverso un server proxy http...
è possibile gestire anche questo, con php, in qualche modo non troppo
lunare?
Scusate la prolissità ma vorrei chiarirmi le idee prima di perdere
ulteriore tempo in una idea per poi scoprire che non poteva funzionare.
grazie,
Panathos

 attraverso un server proxy http...
Idem come sopra.
-- 
I am what I am, I do what I can
Sei un newbie? Leggi questo 
http://url.repository.biz/go/3C
Vuoi supportarmi? 
http://url.repository.biz/go/3E
Do. Or do not. There is not try.

 
http://www.php.net/curl
Guarda, non so come ringraziarti... non conoscevo quel programma ed è
stata una scoperta risolutiva. Almeno gli upload sul sito funzionano
perfettamente.
Ora ho il problema che, provando qui in LAN con un server apache sotto
windows, ottengo questo errore
 unlink(): Permission denied in c:\apache\htdocs\test\upload.php on
line 22
Questo è lo script che sto usando (tralascio la parte html):
<code>
$path = "c:/apache/htdocs/test/files";
if( $UploadedFile != none )
{
	print("Percorso locale: $UploadedFile <BR>\n");
	print("Nome del file: $UploadedFile_name <BR>\n");
	print("Dimensione del file: $UploadedFile_size <BR>\n");
	print("Tipo di file: $UploadedFile_type <BR>\n");
	if (copy( $UploadedFile , "$path/$UploadedFile_name" )){
		print "$UploadedFile acquisito con successo<br>";
	}else{
		print "Errore.. upload non riuscito<br>";
	}
	unlink($UploadedFile);
</code>
nel php.ini la direttiva 'file_uploads = On' è corretta ed ho
impostato 'upload_max_filesize = 10M'. Sto facendo prove con files .zip
minuscoli...
Mi sono accorto ora che anche usando un form invece di curl, ottengo lo
stesso errore. E non capisco se sia un problema nella configurazione
del php oppure di apache... avresti mica un suggerimento da darmi anche
su questo?
ad ogni modo, grazie.
Panathos


Direi che è un problema di permessi sulla cartella in cui si trova 
$UploadedFIle, hai permesso di scrivere ma non cancellare, strano. La 
copia del file ti da degli errori?

 copia del file ti da degli errori?
Se intendi la copia di un file via rete, no.
Quella macchina è un server NT4, e in tutto il ramo di quella cartella
(c:\apache\htdocs\test\files) anche Everyone ha full control.
La versione di php è 4.3.4, apache 1.3.29... ormai sono esaurito e non
riesco a capire dove stia l'inghippo.
Panathos

 {
Segui il codice cosi' come viene suggerito nel manuale, non usare
register_globals.
http://www.php.net/manual/en/features.file-upload.php


 riesco a capire dove stia l'inghippo.
dico copy( $UploadedFile , "$path/$UploadedFile_name" ) va a buon fine? 
ti copia il file?

 
http://www.php.net/manual/en/features.file-upload.php
Ma pork... stavo usando sintassi fatta per register_globals = ON mentre
invece era disabilitato. E non mi accorgevo di questa incongruenza...
grazie infinite.
Questa è la seconda volta che sei stato velocemente risolutivo
riguardo le mie richieste.
Pertanto se mi dai il permesso, vorrei contattarti in email per cose di
interesse non pubblico.
grazie ancora,
Panathos

 ti copia il file?
Non lo faceva... per motivi ovvi ("dopo", diventano tali): avevo
register_globals = OFF e quel cancherino di script che stavo usando
funzionava sul server perché evidentemente l'hoster tiene la direttiva
impostata su ON.
Ora funziona tutto correttamente, grazie anche per il tuo
interessamento.
Panathos