Autor | Zpráva | ||
---|---|---|---|
Celebi Profil |
#1 · Zasláno: 7. 8. 2006, 13:20:50 · Upravil/a: Celebi
Šlo by udělat nějaký skript v php, který automaticky uloží nějaký soubor (obrázek) do počítače/na web - Prostě zadám adresu obrázku, který je na nějakém jiném webu a skript ho automaticky uloží do vybraného adresáře počítače, příp. do vybraného adresáře na web. Jak to udělat?
Jde o použitelnost při ukládání např. 20 obrázků najednou, aby se nemuselo u každého obrázku dát Uložit jako a znova a znova. |
||
nightfish Profil |
#2 · Zasláno: 7. 8. 2006, 13:28:34
|
||
nightfish Profil |
#3 · Zasláno: 7. 8. 2006, 13:30:18
// $url obsahuje url obrazku, ktery chces ulozit
//$outfile obsahuje cestu k souboru, kam chces obrazek ulozit $ch = curl_init($url); $fp = fopen($outfile,"w"); curl_setopt($ch, CURLOPT_HEADER, 0); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt ($ch, CURLOPT_FOLLOWLOCATION, 1); curl_setopt($ch, CURLOPT_USERAGENT, $_SERVER['HTTP_USER_AGENT']); $data = curl_exec($ch); fwrite($fp,$data); fclose($fp); curl_close($ch); |
||
Acci Profil |
#4 · Zasláno: 7. 8. 2006, 13:30:51 · Upravil/a: Acci
Já bych použil raději file_get_contents a file_put_contents, je to pak mnohem jednodušší.
Bacha ale na funkci file_put_contents, funguje až od PHP verze 5 |
||
nightfish Profil |
#5 · Zasláno: 7. 8. 2006, 13:34:23
pokud člověk nepotřebuje nějaké speciálnosti (jako třeba funkční cookies při stahování obrázků), tak je řešení od Acciho jednodušší, to je fakt...
|
||
Celebi Profil |
#6 · Zasláno: 7. 8. 2006, 18:19:02
Tak mi řekněte, kde dělám chybu. Tento skript mám uložen v souboru test.php5. Na serveru by php5 fungovat mělo (ic.cz).
Skript vypadá takto: <? $url="http://www.pokemonelite2000.com/pkfrlgsh001.png"; $outfile="/images/pokedex/shinyfrlg/001.png"; $soubor=file_get_contents($url); file_put_contents($outfile, $soubor); ?> A hlásí mi to: Warning: file_put_contents(/images/pokedex/shinyfrlg/001.png) [function.file-put-contents]: failed to open stream: No such file or directory in /home/free/ic.cz/p/mojestranka/root/www/test.php5 on line 5. |
||
Časová prodleva: 18 let
|
Toto téma je uzamčeno. Odpověď nelze zaslat.
0