<div dir="ltr">Non ho l'account ma lo creo prima possibile.<div>Quali test hai effettuato? Hai a disposizione un file grande da rendere disponibile al download?</div><div>Probabilmente se il file è in locale e non è attivo l'output buffering non dovrebbero esserci differenze, credo che la differenza si noti se il file è remoto e/o c'è output buffering.</div>
<div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">Il giorno 25 febbraio 2014 07:13, Alessandro Gubitosi <span dir="ltr"><<a href="mailto:gubi.ale@gotanotherway.com" target="_blank">gubi.ale@gotanotherway.com</a>></span> ha scritto:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000">
<font face="Helvetica, Arial, sans-serif">Francesco ho modificato lo
script come hai suggerito ma non sembra che ci siano cambiamenti:
<a href="https://github.com/gubi/Ninuxoo-2.0/commit/2ec735cf65ac6494066a9a092a9239a05442738d" target="_blank">https://github.com/gubi/Ninuxoo-2.0/commit/2ec735cf65ac6494066a9a092a9239a05442738d</a></font><br>
Se hai un account github possiamo discuterne di là senza intasare la
ML: <a href="https://github.com/gubi/Ninuxoo-2.0/issues/19" target="_blank">https://github.com/gubi/Ninuxoo-2.0/issues/19</a><div class=""><br>
<br>
Gubi<br>
<br>
<div>Il 19/02/2014 13:05, Francesco Rapanà
ha scritto:<br>
</div>
</div><blockquote type="cite">
<div dir="ltr">Ho effettuato l'iscrizione a Ninux-dev così posso
dare il mio contributo.
<div><div class="h5"><div><br>
</div>
<div>Le alternative secondo me sono due:</div>
<div>- file proxy, cioè quello di cui stiamo già parlando (è
necessario allow_url_fopen = true)</div>
<div>- smbclient [1] o [2], con la ovvia limitazione che
funzionerebbe solo con smb e non, ad esempio, con ftp</div>
<div><br>
</div>
<div>Il codice che ho inviato "dovrebbe" funzionare, se hai
tempo puoi fare un piccolo test con due pagine download, la
prima con readfile_chunked(file_locale) e la seconda con
readfile_chunked(url_pagina_download1).</div>
<div><br>
</div>
<div>Francesco<br>
</div>
<div><br>
</div>
<div>[1] <a href="http://smorgasbork.com/component/content/article/34-web/66-accessing-smb-servers-with-php" target="_blank">http://smorgasbork.com/component/content/article/34-web/66-accessing-smb-servers-with-php</a><br>
</div>
<div>[2] <a href="http://sourceforge.net/projects/smbwebclient/" target="_blank">http://sourceforge.net/projects/smbwebclient/</a></div>
<div><br>
</div>
<div><br>
</div>
</div></div></div><div><div class="h5">
<div class="gmail_extra"><br>
<br>
<div class="gmail_quote">
Il giorno 19 febbraio 2014 12:15, Alessandro Gubitosi <span dir="ltr"><<a href="mailto:gubi.ale@gotanotherway.com" target="_blank">gubi.ale@gotanotherway.com</a>></span>
ha scritto:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"> Inoltro ninux-dev per
"competenza".<br>
<br>
Il 19/02/2014 10:14, Francesco Rapanà ha scritto:<br>
<blockquote type="cite">
<div dir="ltr">Nel caso il file si trovi sulla stessa
macchina dove gira lo script va bene, ma se il file si
trova su un'altra macchina mi pare che il codice non è
ancora presente, o sbaglio? In questo caso lo script
farebbe @readfile($url_file_altro_nas) o farebbe un
redirect verso lo script che gira sul nas che contiene
il file?</div>
</blockquote>
Hai ragione non è ancora stato implementato, ma perché sto
appunto aspettando che mi arrivi un altro device per fare
lo sviluppo su entrambi, di modo che poi si possa passare
agli step successivi.<br>
Comunque, in teoria parsa l'hash e se c'è il token non
guarda in locale ma fa una richiesta in broadcast rivolta
a quel token, che a sua volta parsa l'hash e tira fuori il
file.<br>
Lo script locale re-inoltrerebbe l'output della macchina
remota, ma non so a questo punto quale potrebbe essere la
reazione (se appare la finestra di download o fa qualche
scherzetto).<br>
Hai idee migliori?<br>
<br>
<blockquote type="cite">
<div dir="ltr">
<div>In ogni caso readfile credo (non ho testato)
dovrebbe dare problemi di memoria con file molto
grandi se è abilitato l'output buffering, nei
commenti su php c'è la funzione readfile_chunked con
il flush. Andrebbe testato sia usando readfile con
file locale che con url, mi preoccupa più questo
secondo caso perché potrebbe tentare di scaricare
prima il file in memoria locale e poi passarlo in
output.</div>
</div>
</blockquote>
<blockquote type="cite">
<div dir="ltr">
<div><br>
</div>
<div><span><span><?php <br>
</span><span>function </span><span>readfile_chunked</span><span>(</span><span>$filename</span><span>,</span><span>$retbytes</span><span>=</span><span>true</span><span>)
{ <br>
</span><span>$chunksize </span><span>= </span><span>1</span><span>*(</span><span>1024</span><span>*</span><span>1024</span><span>); </span><span>//
how many bytes per chunk <br>
</span><span>$buffer </span><span>= </span><span>''</span><span>; <br>
</span><span>$cnt </span><span>=</span><span>0</span><span>; <br>
</span><span>// $handle = fopen($filename,
'rb'); <br>
</span><span>$handle </span><span>= </span><span>fopen</span><span>(</span><span>$filename</span><span>, </span><span>'rb'</span><span>); <br>
if (</span><span>$handle </span><span>=== </span><span>false</span><span>)
{ <br>
return </span><span>false</span><span>; <br>
} <br>
while (!</span><span>feof</span><span>(</span><span>$handle</span><span>))
{ <br>
</span><span>$buffer </span><span>= </span><span>fread</span><span>(</span><span>$handle</span><span>, </span><span>$chunksize</span><span>); <br>
echo </span><span>$buffer</span><span>; <br>
</span><span>ob_flush</span><span>(); <br>
</span><span>flush</span><span>(); <br>
if (</span><span>$retbytes</span><span>)
{ <br>
</span><span>$cnt </span><span>+= </span><span>strlen</span><span>(</span><span>$buffer</span><span>); <br>
} <br>
} <br>
</span><span>$status </span><span>= </span><span>fclose</span><span>(</span><span>$handle</span><span>); <br>
if (</span><span>$retbytes </span><span>&& </span><span>$status</span><span>)
{ <br>
return </span><span>$cnt</span><span>; </span><span>//
return num. bytes delivered like readfile()
does. <br>
</span><span>} <br>
return </span><span>$status</span><span>; <br>
<br>
} <br>
</span><span>?></span></span><br>
</div>
</div>
</blockquote>
Avevo notato bene, infatti su questa cosa che mi ero
ripromesso di parlarne in ML dev.<br>
Come detto sopra, non lo so, andrebbe testato, e sto
aspettando <a href="http://imx.solid-run.com/product/cubox-i4-pro/" target="_blank">questo device</a> da metà novembre
(spedito poi il 2 febbraio).<br>
Adesso è "<i>In carico al portalettere del centro postale
di RM PALESTRINA CSD in data 19-FEB-2014"</i>), quindi
in teoria dovrebbe arrivare a giorni, se non oggi stesso.<br>
Ti terrò aggiornato cmq, perché essendo disoccupato e in
risposta di notizie lavorative <a href="https://github.com/gubi/Ninuxoo-2.0/commits?author=gubi" target="_blank">sto lavorando a tempo pieno per Ninux</a>
:D<br>
<br>
Grazie comunque per il coinvolgimento e per la funzione
che testerò sicuramente ;)<br>
A presto<br>
<br>
Gubi<br>
<br>
<blockquote type="cite">
<div class="gmail_extra"><br>
<div class="gmail_quote">Il giorno 19 febbraio 2014
08:56, Alessandro Gubitosi <span dir="ltr"><<a href="mailto:gubi.ale@gotanotherway.com" target="_blank">gubi.ale@gotanotherway.com</a>></span>
ha scritto:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div bgcolor="#FFFFFF" text="#000000"> <font face="Helvetica, Arial, sans-serif">Parli di
una cosa come questa?<br>
<a href="http://192.168.36.210/Scheda:?ZDQxZDhjZDk4ZjAwYjIwNGU5ODAwOTk4ZWNmODQyN2U6Ly9NdXNpY2EvR2lvcmdpbyBHYWJlci8oMTk4NCkgLSBHYWJlci8wNyAtIElsIFNvY2lhbGUubXAz" target="_blank">http://192.168.36.210/Scheda:?ZDQxZDhjZDk4ZjAwYjIwNGU5ODAwOTk4ZWNmODQyN2U6Ly9NdXNpY2EvR2lvcmdpbyBHYWJlci8oMTk4NCkgLSBHYWJlci8wNyAtIElsIFNvY2lhbGUubXAz<br>
</a><br>
Non guardare l'ip perché poi dovrà andare su
dns anycast ninux (ad es. sarà <a href="http://ninuxoo.ninux.org/" target="_blank">http://ninuxoo.ninux.org/</a></font><font face="Helvetica, Arial, sans-serif"><font face="Helvetica, Arial, sans-serif">Scheda:?sde3uhswf3g)</font>.<br>
</font><font face="Helvetica, Arial, sans-serif"><font face="Helvetica, Arial, sans-serif">Per
rendere questo link scaricabile poi anche
dall'america ci vorrà magari un url
shortener (in ninux ce n'è già uno) e un
proxy bgp come anche suggerisci tu, con un
altro dns, magari.<br>
</font>L'hash contiene già tutto il percorso
al file (col token del nas al posto del suo
ip), per il resto i nas si trovano in rete da
soli via mdns.<br>
<br>
Lo script imputato al download è questo qui: <a href="https://github.com/gubi/Ninuxoo-2.0/blob/master/common/include/funcs/download.php" target="_blank">https://github.com/gubi/Ninuxoo-2.0/blob/master/common/include/funcs/download.php</a><br>
Grazie per la disponibilità del device, ma a
meno che non mi dai accesso ssh per correggere
gli script che man mano sistemo, meglio
aspettare.<br>
Sicuramente sarà utile nella fase di
collaudo... ;)<br>
Notizia: i NAS si potranno collegare tra loro
anche se sono remoti, basta indicare
l'indirizzo ipv(4|6) o dns... ;)<br>
<br>
A presto<br>
Gubi<br>
<br>
</font>
<div>Il 18/02/2014 22:23, Francesco Rapanà ha
scritto:<br>
</div>
<div>
<div>
<blockquote type="cite">
<div dir="ltr">Se ti può essere utile per
i test, ho un synology DS213j.
<div>Al momento sto vedendo come si
potrebbe fare una specie di proxy da
installare su un route reflector
client in modo da rendere disponibile
all'esterno determinati file /
cartelle interne alla rete.</div>
<div>es: ho un NAS sul nodo xx e un BGP
Route Reflector con IP pubblico sul
nodo yy. Se volessi rendere "pubblici"
determinati file del NAS, il proxy
potrebbe mostrare la lista dei file su
$IP_pubblico_yy/NAS_xx/ e per il
download credo andrebbe fatto qualcosa
con fopen / fread / fwrite</div>
</div>
<div class="gmail_extra"><br>
</div>
</blockquote>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</blockquote>
<br>
</div>
</blockquote>
</div>
<br>
</div>
<br>
<fieldset></fieldset>
<br>
</div></div><div class=""><pre>_______________________________________________
ninux-dev mailing list
<a href="mailto:ninux-dev@ml.ninux.org" target="_blank">ninux-dev@ml.ninux.org</a>
<a href="http://ml.ninux.org/mailman/listinfo/ninux-dev" target="_blank">http://ml.ninux.org/mailman/listinfo/ninux-dev</a>
</pre>
</div></blockquote>
<br>
</div>
</blockquote></div><br></div>