<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>