2010-12-27 8 views
7

è possibile scaricare direttamente file di dimensioni superiori a 200 mb sul mio web hosting in modo che non debba scaricare quel file sul mio computer e quindi caricare utilizzando il mio client ftp. e siccome non sto usando ssh non posso usare wget. Stavo pensando di PHP o per o CGI può essere .. (aperto a tutte le idee ..)Scarica file sul server web da un altro sito utilizzando php

+==============+         +--------+ 
| Big server | -----------+    +--->|web host| 
+==============+   | +------+  | +--------+ 
          +-->| MyPC |-----+  | 
           +------+    |  +========+ 
                 +---->| client | 
                  +========+ 

o

+============+ 
| Big Server | ---+ 
+============+ |      +----------+ 
        +--------------------->| Web Host | 
             +----------+ 
              | 
    +------+         |  +========+ 
    | MyPC |         +----->| client | 
    +------+          +========+ 

plz aiuto ....

+1

Che tipo di accesso avete al vostro server web? Solo un pannello di amministrazione, accesso alla shell? –

+0

cosa è disponibile sul tuo server, che permissinos hai? – helle

+0

non ho accesso alla shell solo ftp; – voldyman

risposta

7

l'arricciatura

$url = "http://path.com/file.zip"; 
$fh = fopen(basename($url), "wb"); 
$ch = curl_init($url); 
curl_setopt($ch, CURLOPT_FILE, $fh); 
curl_exec($ch); 
curl_close($ch); 
+0

arricciatura parzialmente lavorata ma il file che viene creato è 0 morsi. .. – voldyman

+1

ha funzionato come il mio host aveva chiuso il traffico in uscita sulla porta 80. non c'era nessun errore nel codice ... – voldyman

1

Con PHP può scaricare il file con questo:

<?php 
$in = fopen('http://example.com/', 'r'); 
$out = fopen('local-file', 'w'); 
while(!feof($in)) { 
    $piece = fread($in, 2048); 
    fwrite($out, $piece); 
} 
fclose($in); 
fclose($out); 
?> 

Ciò richiede due cose:

  • Il file locale deve essere scrivibile dal server web
  • allow_url_fopen devono essere attivati ​​sul server web
+1

copy() potrebbe essere più facile? –

+0

ho modificato la pagina un po '(akx.x10.mx/akx/down.php) sono in grado di scaricare file dal mio server, ma altri severs danno il seguente errore "impossibile aprire lo stream: connessione scaduta in/*** "edit: oh appena visto allow_url_fopen è disabilitato ....... (:( – voldyman

4

in php il più semplice è probabilmente:

<?php 
copy('http://server.com/big.file','/local/path/big.file'); 
?> 

tuttavia si dovrebbe essere in grado di eseguire wget. soprattutto se fopen esterno viene disattivato sul server che è molto probabile

usando php proprio come:

<?php 
chdir('/where/i/want/to/download/the/file/'); 
system('wget http://server.com/big.file'); 
?> 

o

<?php 
system('wget -O /where/i/want/to/save http://server.com/big.file'); 
?> 

ricciolo è un altro modo. puoi eseguire il comando shell o usare curl php.

anche assicurarsi che la cartella (o file) che si desidera scaricare è scrivibile

+0

il metodo di copia e di sistema mostra 500 l'errore – voldyman

+0

quindi appare come una restrizione del server. –

Problemi correlati