IPB     Il futuro di Tevac dipende da te!  

Benvenuto Visitatore ( Log In | Registrati )

  · · · · · · · · · · · ·
Reply to this topicStart new topic
> Upload file ftp
kop
messaggio 1 Nov 2005, 10:11
Messaggio #1


Level 2/11
**

Gruppo: Forum User
Messaggi: 95
Iscritto il: 31-December 03
Da: Udine
Utente Nr.: 1.198



Ciao, vorrei sapere se esiste uno script in php che mi permetta di inviare, da un browser, un file di grosse dimensioni tramite il protocollo ftp.

Tutti gli script php che ho provato funzionano ma, non iviano file superiori 1Mb!!
Dopo alcune ricerche ho capito il motivo, è dovuto al mio provider (Aruba) che ha impostato un Timeout, nei loro server, molto breve e NON è modificabile.

Quindi per ovviare a questo problema pensavo al protocollo ftp.

Però, non essendo esperto in programmazione mi piacerebbe trovare uno script che mi permetta di cambiare solo i parametri personali senza toccare nient'altro.

Facendo una ricerca sul forum ho trovato qualcosa di simile http://forum.tevac.com/viewtopic.php?t=164...ighlight=upload specialmente alla riga:

CITAZIONE(djzero00)
ho un altro passettino, dopo aver scoperto quella sorta di applicazione che è URL Access Scripting (c'è un dizionario dove appunto ci sono i comandi upload e download)

CODICE
--set file2up to "percorso:al:mio:file.ext" as alias
-- per provare lo piglio direttamente
set file2up to choose file
set ftpserv to "ftp://login:pass@ftp.rossoalice.it/"
tell application "URL Access Scripting"
    upload file2up to ftpserv without binhexing
end tell


Alcune osservazioni:
1. sono diventato idrofobo, poi ho messo l'ultimo slash del path ftpserv.
2. si può togliere login e password dallo URL, e chiederle tramite dialogo:
CODICE
upload file2up to ftpserv with authentication without binhexing

3. di default, upload "binhexa" il file, cosa che potrebbe non essere gradita;  da qui, la presenza di "without binhexing".
4. se nel server ftp occorre raggiungere cartelle particolari, si possono indicare direttamente: ad esempio
CODICE
set ftpserv to "ftp://login:pass@ftp.rossoalice.it/path/della/cartella/"

mi raccomando l'ultimo slash.


potrebbe fare il mio caso?

Seconda cosa. Sicurezza.
Se inserisco nello script php il mio nome utente e password, una persona qualunque potrebbe scaricarsi o leggere il file e quindi sapere i miei dati?
Grazie
Go to the top of the page
 
+Quote Post
azael
messaggio 2 Nov 2005, 14:50
Messaggio #2


Level 8/11
********

Gruppo: Forum User
Messaggi: 3.123
Iscritto il: 2-February 04
Da: Bergamo
Utente Nr.: 1.423



CITAZIONE(kop)
potrebbe fare il mio caso?  


Su questo e' meglio se ti risponde qualcun altro, in merito non ho esperienza.

CITAZIONE(kop)
Se inserisco nello script php il mio nome utente e password, una persona qualunque potrebbe scaricarsi o leggere il file e quindi sapere i miei dati?


Sni'.
Mi spiego meglio: leggere il testo contenuto in un file .php attraverso il browser NON e' possibile in quanto il contenuto e' "parsato". E' vero pero' che se in qualche modo uno ottiene il modo di accedere il file in qualche altro modo allora avra' in chiaro login e password.

E' un rischio abbastanza remoto ma possibile.

Ciao,

Roberto


--------------------
Azael's New: ho aperto il mio blog ... visitatelo!!!
Supporta Tevac
Go to the top of the page
 
+Quote Post
whamoo
messaggio 2 Nov 2005, 15:05
Messaggio #3


Level 2/11
**

Gruppo: Forum User
Messaggi: 99
Iscritto il: 20-January 05
Utente Nr.: 3.039



Guarda, non sono sicuro che sia aruba, o meglio forse il timeout e' stato impostato sull'interprete php, visto che il mio script per l'upload (scritto in python) sul mio dominio aruba funziona anche con file da +200mb.

Io posso passarti lo script python se ti interessa e' molto semplice, ma non so aiutarti con l'altro problema.


--------------------
Matteo Rattotti
Shiny Frog
Powered by:
- Mac OS X
- Gnu / Linux Debian
Go to the top of the page
 
+Quote Post
kop
messaggio 2 Nov 2005, 15:15
Messaggio #4


Level 2/11
**

Gruppo: Forum User
Messaggi: 95
Iscritto il: 31-December 03
Da: Udine
Utente Nr.: 1.198



CITAZIONE(whamoo)
Guarda, non sono sicuro che sia aruba, o meglio forse il timeout e' stato impostato sull'interprete php

Questo non lo so!
Sinceramente, era l'unica spiegazione che mi davo sul mancato funzionamento per file >1Mb, facendo una ricerca sul forum di aruba veniva citata questa problematica, che non capendo niente di php l'ho presa per buona.

CITAZIONE(whamoo)
sul mio dominio aruba funziona anche con file da +200mb.

Io posso passarti lo script python se ti interessa e' molto semplice, ma non so aiutarti con l'altro problema.


MAGARI!!!! Grazie
Go to the top of the page
 
+Quote Post
whamoo
messaggio 3 Nov 2005, 01:31
Messaggio #5


Level 2/11
**

Gruppo: Forum User
Messaggi: 99
Iscritto il: 20-January 05
Utente Nr.: 3.039



Crea un file ftp.py e mettilo nella cartella cgi-bin del tuo sito: (guarda il codice perche' devi mettere dei path relativi al tuo sito)

CODICE
import cgi
import sys
import os
print "content-type: text/html"
print

# Metti qui user e password che vuoi
auth = {'USER':'PASSWORD'}

store = cgi.FieldStorage()
user = store.getvalue('user', None)
pwd = store.getvalue('pwd', None)


if auth.has_key(user):
   if auth[user] != pwd:
       print "Sorry your name/password are incorrect"
       sys.exit()
else:
   print "Sorry your name/password are incorrect"
   sys.exit()

storeItem = store['fupload']
if storeItem.file:
   name = storeItem.filename
   name = name.replace(" ", "")
   name = os.path.split(name)[1]
   data = storeItem.file.read()
   try:
       # Qui metti la cartella dove vuoi che il file venga messo
       # io ho scelto un cartella prima di cgi-bin di nome upload
       path = "../upload/" + name
       
       file = open(path, 'w')
       file.write(data)
       file.close()
       print "Upload succesfull<br><br>"
 
       # Qui metti il path totale di dove metti i file      

       pathuman = "http://www.rknet.it/upload/" + name
       print "Path to the file is: <a href="" + pathuman + "">" + pathuman +"</a>"
   except:
       print "Error"

Mi raccomando controlla tutti i punti in cui devi cambiare il codice!!!
Poi crea un file html con il form per l'upload, in questo modo:
HTML
<form method="post" action="cgi-bin/ftp.py" enctype="multipart/form-data">
 <input name="user" value="user" type="text" size="30"><br>
 <input name="pwd" value="password" type="text" size="30"><br>
   <input name="submit" type="submit" value="invia">
 <input name="fupload" type="file">
</form>

Se qualcosa non dovesse andare fammi sapere


--------------------
Matteo Rattotti
Shiny Frog
Powered by:
- Mac OS X
- Gnu / Linux Debian
Go to the top of the page
 
+Quote Post
kop
messaggio 3 Nov 2005, 19:34
Messaggio #6


Level 2/11
**

Gruppo: Forum User
Messaggi: 95
Iscritto il: 31-December 03
Da: Udine
Utente Nr.: 1.198



Niente!!! Errore:

500 Internal Server Error
The server encountered an internal error or misconfiguration and was unable to complete your request.

Please contact the server administrator, postmaster@xxxxx.it and inform them of the time the error occurred, and anything you might have done that may have caused the error.

More information about this error may be available in the server error log.


Leggendo i log dal server di aruba, questi sono gli errori che vengono generati:

[Thu Nov 03 18:20:41 2005] [error] [client xx.x.xxx.xxx] File does not exist: /web/htdocs/www.xxxxx.it/home/favicon.ico
[Thu Nov 03 18:20:41 2005] [error] [client xx.x.xxx.xxx] File does not exist: /web/htdocs/www.xxxxx.it/home/favicon.ico
[Thu Nov 03 18:20:50 2005] [error] [client xx.x.xxx.xxx] Premature end of script headers: ftp.py, referer: http://www.xxxxx.it/upload.htm
[Thu Nov 03 18:20:50 2005] [error] [client xx.x.xxx.xxx] File does not exist: /web/htdocs/www.xxxxx.it/home/favicon.ico


Non capisco cosa sia il file: favicon.ico

I permessi sono tutti 777, per la cronaca il sito ospitato nei server Linux.


PS: xxxxx sono i dati che ho sostituito ora per questa visualizzazione.
Go to the top of the page
 
+Quote Post
whamoo
messaggio 3 Nov 2005, 19:48
Messaggio #7


Level 2/11
**

Gruppo: Forum User
Messaggi: 99
Iscritto il: 20-January 05
Utente Nr.: 3.039



Allora, vediamo se rivolviamo:

Intanto i permessi dei cgi devono essere 755 e non 777 icon_wink.gif

Prova a cambiare la prima riga con questa:

#!/usr/bin/env python

Controlla di avere messo tutti i cambi da cambiare, e attento in python conta l'indentazione, quindi devi creare il file esattamente come l'ho postato, non devi ciccare uno spazio....

Appena ho tempo ti metto lo script con una pagina di esempio in un bel .zip cosi' non devi copia/incollare.

Saluti


--------------------
Matteo Rattotti
Shiny Frog
Powered by:
- Mac OS X
- Gnu / Linux Debian
Go to the top of the page
 
+Quote Post
kop
messaggio 3 Nov 2005, 20:12
Messaggio #8


Level 2/11
**

Gruppo: Forum User
Messaggi: 95
Iscritto il: 31-December 03
Da: Udine
Utente Nr.: 1.198



Niente, uguale a prima.
Secondo me potrebbe essere dreamweaver il problema!! Ora provo con BBEdit salvando per Unix.
I permessi li ho riportati a 755
Go to the top of the page
 
+Quote Post
poweruser
messaggio 3 Nov 2005, 22:32
Messaggio #9


MacInATopic
Gruppo icone

Gruppo: Root Admin
Messaggi: 24.176
Iscritto il: 27-July 03
Da: Maglie (LE)
Utente Nr.: 440



Il file favicon.ico è quello che contiene l'iconcina che vedi nella barra degli indirizzi accanto all'URL.
Non è obbligatorio che ci sia, ma visto che ormai quasi tutti i browser lo richiedono, potresti metterlo. Almeno eviti di infestarti il log con errori che non esistono.
Ti basta creare un file BMP 16 pixel x 16 pixel, rinominarlo in favicon.ico e metterlo nella root del sito.

Ciao
Paolo


--------------------
Paolo Portaluri

guru, n: A computer owner who can read the manual.
Go to the top of the page
 
+Quote Post
kop
messaggio 20 Nov 2005, 10:50
Messaggio #10


Level 2/11
**

Gruppo: Forum User
Messaggi: 95
Iscritto il: 31-December 03
Da: Udine
Utente Nr.: 1.198



Grazie poweruser risolto il problema favicon.ico.

Dopo IMMANI fatiche ho trovato uno script che si adatta alle mie esigenze:

upload_ftp.htm
HTML
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 4.0 Transitional//EN">

<html>
<head>
<title>Upload di file</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"></head>

<body>
<center>
<font color="#333333"><b>Upload  file via FTP</b></font><br>
<br>
<table width="400">
 <tr>
   <td><table border="0" align="center" cellpadding="5" cellspacing="0">
       <form enctype="multipart/form-data" method="post" action="upload_ftp.php">
         <tr>
           <td colspan="2"><font face="arial" size="2">File</font>&nbsp;&nbsp;                <input type="file" name="fupload"></td>
         </tr>
         <tr>
           <td colspan="2" align="center"><input name="submit" type="submit" value="Spedisci">
&nbsp;&nbsp;
             <input name="reset" type="reset" value="Annulla">
       </form>
   </table></td>
 </tr>
</table>
<p>&nbsp;</p>
</center>
</body>
</html>


upload_ftp.php
CODICE
<div align="center">
 <p><span class="formNORMAL">  </span>
   <?php
foreach($HTTP_POST_VARS as $key=>$val)
{
if($val=="" or !$val)
{
print "<font face="Verdana" size="2">Il campo $key è vuoto<br><a href="java script:history.back()">indietro</a></font>";
exit();
}
}
//parametri da personalizzare
$host="ftp.miosito.it";
$porta="21";
$username="miausername@aruba.it";
$password="miapassword";
// fine parametri da personalizzare
$ftp_connect=@ftp_connect($host,$porta);
if(!$ftp_connect)
{
print "<font face="Verdana" size="2">Connessione fallita al server $host<br><a href="java script:history.back()">indietro</a></font>";
exit();
}
$ftp_login=@ftp_login($ftp_connect,$username,$password);
if(!$ftp_login)
{
print "<font face="Verdana" size="2">Login fallito<br><a href="java script:history.back()">indietro</a></font>";
exit();
}
//copia il file da inviare
$fp=@fopen($fupload,"r");
if(!$fp)
{
print "<font face="Verdana" size="2">Impossibile aprire il file selezionato<br><a href="java script:history.back()">indietro</a></font>";
exit();
}
//lo spedisce via ftp nella cartella "file" o altra basta cambiare nome in: $ftp_connect,"file/$fupload_name"
@ftp_fput($ftp_connect,"file/$fupload_name",$fp,FTP_BINARY) or die("<font face="arial" size="2">Impossibile spedire il file<br><a href="java script:history.back()">indietro</a></font>");
echo "<font face="arial" size="2">Il file $fupload_name, peso $fupload_size, è stato uploadato con successo</font>";
fclose($fp);
ftp_quit($ftp_connect);
?>
 </p>
 <p>&nbsp; </p>
</div>

FUNZIONA!!! Miracolo!!! Solo che.....

Solo che, alla fine dell'invio compare il messaggio:

HTTP 500 - Errore interno del server

però, se vado a controllare nella cartella dove è stato spedito il file, questo c'è senza nessun errore.
Il problema è se uno mi spedisce un file e poi alla fine viene generato questo errore lui è convinto di non aver spedito un bel niente (oltre aver perso tempo) cosa completamente falsa in quanto il file è regolarmente arrivato!!

Problema di TimeOut?
E, se SI, come si risolve? Se NO.... ideee?
Go to the top of the page
 
+Quote Post
pover
messaggio 23 Jan 2006, 15:13
Messaggio #11


Level 1/11
*

Gruppo: Members
Messaggi: 1
Iscritto il: 19-January 06
Utente Nr.: 5.196



Scusate, ma io non riesco ancora a spedire più di 1 MB con FORM UPLOAD su ARUBA, siccome ho letto che qualcuno ci è riuscito, ma come dite non ci riesco, qualcuno può aiutarmi???

Grazie
Go to the top of the page
 
+Quote Post
kop
messaggio 23 Jan 2006, 15:29
Messaggio #12


Level 2/11
**

Gruppo: Forum User
Messaggi: 95
Iscritto il: 31-December 03
Da: Udine
Utente Nr.: 1.198



Io sono riuscito (anche se NON dipende da me!!) fino a 10Mb!!

Ma per ora.... ci ho rinunciato!!

Mi sembra assurdo che non si possa inviare con un semplice form da un sito file superiori ad una certa dimensione (10Mb???) senza complicarsi la vita oppure, se è possibile.... è un "casino"!!!

Perchè le cose non sono più semplici???
Go to the top of the page
 
+Quote Post
poweruser
messaggio 23 Jan 2006, 15:35
Messaggio #13


MacInATopic
Gruppo icone

Gruppo: Root Admin
Messaggi: 24.176
Iscritto il: 27-July 03
Da: Maglie (LE)
Utente Nr.: 440



CITAZIONE(kop)
Io sono riuscito (anche se NON dipende da me!!) fino a 10Mb!!

Ma per ora.... ci ho rinunciato!!

Mi sembra assurdo che non si possa inviare con un semplice form da un sito file superiori ad una certa dimensione (10Mb???) senza complicarsi la vita oppure, se è possibile.... è un "casino"!!!

Perchè le cose non sono più semplici???
Perché altrimenti tutti potrebbero inviarti file enormi senza che tu ne abbia alcun controllo esaurendo lo spazio disponibile sul server.

Ciao
Paolo


--------------------
Paolo Portaluri

guru, n: A computer owner who can read the manual.
Go to the top of the page
 
+Quote Post
pariri
messaggio 8 Apr 2008, 12:22
Messaggio #14


Level 1/11
*

Gruppo: Forum User
Messaggi: 1
Iscritto il: 8-April 08
Utente Nr.: 10.121



ciao a tutti sono nuovo da questa parte...

vorrei un aiuto... non riesco a fare funzionare lo script di whamoo e visto che mi serve un upload per file da 80/100 mb su server Aruba spero che lui mi possa aiutare!

grazie!
Go to the top of the page
 
+Quote Post
poweruser
messaggio 1 May 2008, 11:31
Messaggio #15


MacInATopic
Gruppo icone

Gruppo: Root Admin
Messaggi: 24.176
Iscritto il: 27-July 03
Da: Maglie (LE)
Utente Nr.: 440



Intanto spiegaci cosa non funziona esattamente e che errori ti dà.

Benvenuto.

Ciao
Paolo


--------------------
Paolo Portaluri

guru, n: A computer owner who can read the manual.
Go to the top of the page
 
+Quote Post

Reply to this topicStart new topic

 

Collapse

> 

    Titolo discussione Risposte Autore discussione Visite Ultima azione
No New Posts   4 sirguich_ 56 4 September 2008 - 18:43
Ultimo messaggio di: sirguich_
No new   14 preglia 166 4 September 2008 - 17:26
Ultimo messaggio di: sirguich_
No New Posts   3 genilli 99 1 September 2008 - 23:32
Ultimo messaggio di: sirguich_
No New Posts   3 Geyser 74 29 August 2008 - 13:38
Ultimo messaggio di: Martini
No New Posts 3 bacillino80 103 29 August 2008 - 11:37
Ultimo messaggio di: bacillino80
No New Posts   0 Marco Coïsson 58 19 August 2008 - 10:12
Ultimo messaggio di: Marco Coïsson
No New Posts   2 giordano 82 14 August 2008 - 16:53
Ultimo messaggio di: giordano
No New Posts   4 borros 99 7 August 2008 - 14:08
Ultimo messaggio di: borros
No New Posts   3 -plume- 102 30 July 2008 - 15:59
Ultimo messaggio di: poweruser
No New Posts