Autor Zpráva
Rad
Profil *
Zdravím , potřeboval bych nějak nakopnout. Potřebuji vytvořit script kde bude formulář kam zadám url souboru (http://www.stahnisi.cz/muziku.mp3) a script ten soubor uploadne na server. Díky za radu
Casero
Profil
www.linuxsoft.cz/php je tam lekce upload
Školník
Profil
Upload souboru z jednoho webu na druhej?
Taps
Profil
na www.jaknaweb.com najdeš hotový skript upload sekce php skripty
Rad
Profil *
tak se mi zdá že mi radíte jak uploadnout soubor z svého PC na web, ale o to mě vůbec nejde - já potřebuju uploadnout soubor z url adresy. Nebo špatně hledám. Díky za odpovědi
Rad
Profil *
abych to že se nesnařím pokouším se to vyřešit nějak takhle ale hlásí mě to chybu:
Fatal error: Allowed memory size of 10485760 bytes exhausted (tried to allocate 20971521 bytes) in dow.php on line 21

$handle = fopen($_GET["soubor"],"rb");
$contents = '';
while (!feof($handle)) {
$contents .= fread($handle, 20971520);
}
fclose($handle);

$novy_jmeno = substr(strrchr($_GET["soubor"], "/"), 1 );
$novy_soubor = fopen($novy_jmeno,"w");
fwrite($novy_soubor,$contents);
fclose($novy_soubor);
bukaj
Profil
Fatal error: Allowed memory size of 10485760 bytes exhausted (tried to allocate 20971521 bytes) in dow.php on line 21
Fatální chyba: Povolená velikost 10485760 bytů (asi 10MB) byla překročena (pokus o nahrání 20971521 bytů (asi 20 MB)) v souboru dow.php na lince 21.
-> tzn. nahrávaný soubor byl příliš velký, a tak ho php nemohlo uložit do své paměti. holt to půjde nahrávat jen menší soubory. může to být tím :$contents .= fread($handle, 20971520); . nač tak vysoké číslo? pokud by se mělo jednat o maximální, tak tam mělo být pouze těch 10485760 a bez toho cyklu
Rad
Profil *
ten cyklus jsem vyčet v php manualu

Warning

When reading from anything that is not a regular local file, such as streams returned when reading remote files or from popen() and fsockopen(), reading will stop after a packet is available. This means that you should collect the data together in chunks as shown in the examples below.
<?php
$handle = fopen("http://www.example.com/", "rb");
$contents = '';
while (!feof($handle)) {
$contents .= fread($handle, 8192);
}
fclose($handle);
?>
Oswald
Profil
Takhle se zamezí nahrání celého souboru do paměti, takže by to mělo fungovat i s tím limitem:

$in = fopen('http://example.cz/soubor.txt', 'r');

$out = fopen('/tmp/soubor.txt', 'w');
while (!feof($in)) {
fwrite($out, fread($in, 1024));
}
fclose($in);
fclose($out);


Update: proč vlastně rovnou nepoužít copy? :)
Jan0123
Profil *
Zdravím,
je tato diskuse ještě živá?
Mohl by mi někdo poskytnout kompletní text scriptu, který by uploadoval jakkoli velký soubor jak z lokálního PC, tak z URL?
Díky moc předem
huli
Profil *
ja by som tiez potreboval ako sa da uploadovat z URL :)
Toto téma je uzamčeno. Odpověď nelze zaslat.