Autor | Zpráva | ||
---|---|---|---|
Hitman Profil |
#1 · Zasláno: 28. 4. 2015, 14:16:25
Dobrý den,
chtěl bych použít funkci copy() ke kopírování obrázku a uložení do adresáře. Následující kód mi ale vypíše chybu: $adresa= 'http://nejaka.adresa.com/obrazky/logo_velke.png'; copy($adresa, 'obrazek.png'); Warning: copy() [function.copy]: Unable to access http://nejaka.adresa.com/obr/logo_velke.png in /mnt/data/accounts/r/ucet/data/www/.../index.php on line 5
Na řádku 5 je samozdřejmě copy. Oprávnění složky ve které script je mám na 777. Může být chyba na serveru? |
||
Jan Tvrdík Profil |
#2 · Zasláno: 28. 4. 2015, 14:24:53
Hitman:
Je na serveru povolené allow_url_fopen ?
|
||
Hitman Profil |
#3 · Zasláno: 28. 4. 2015, 15:55:40
Lze to nějak zjistit?
Přidal jsem do htaccess "php_value allow_url_fopen On", ale situace je stále stejná. |
||
Keeehi Profil |
#4 · Zasláno: 28. 4. 2015, 19:21:36
Hitman:
„Lze to nějak zjistit?“ <?php phpinfo(); |
||
Hitman Profil |
#5 · Zasláno: 28. 4. 2015, 21:49:25
Tak allow_url_fopen jsem povolil. allow_url_include je zakázané.
Nicméně hláška se nezměnila, je stále stejná... |
||
Keeehi Profil |
Verze PHP? Kopírování nelokálních souborů umí copy od verze 4.3.0.
Existuje vůbec ta URL? Resp. je ze serveru dosažitelná? Co ukáže print_r(get_headers($adresa)); |
||
Hitman Profil |
PHP Version 5.3.29-pl0-gentoo.
Ten Váš příkaz vypíše: Array ( [0] => HTTP/1.1 200 OK [1] => Date: Tue, 28 Apr 2015 20:14:26 GMT [2] => Server: Apache [3] => Last-Modified: Fri, 10 Apr 2015 23:34:35 GMT [4] => ETag: "3a33-5136734fb58c0" [5] => Accept-Ranges: bytes [6] => Content-Length: 14899 [7] => Content-Type: image/png ) //hosting je u savany, kdyby to něčemu pomohlo... |
||
Keeehi Profil |
Hitman:
No jediné co už by mohlo být špatně je načtena stará konfigurace. |
||
Hitman Profil |
Restart serveru? Zkusím..
// tak bohužel, stále stejná chyba. Takže řešit asi s podporou hostingu, že? |
||
Jan Tvrdík Profil |
Hitman:
Můžeš zkusit o trochu delší, ale jinak v podstatě ekvivalentní kód. $from = fopen($adresa, 'r'); $to = fopen('obrazek.png', 'w'); stream_copy_to_stream($from, $to); Možná to souvisí bugs.php.net/bug.php?id=46888. Je na serveru zapnutý safe mode? |
||
Hitman Profil |
Jan Tvrdík:
Díky, tímto je problém vyřešen. Po vypnutí safe mode funguje i copy(), výše uvedené řešení funguje i při zapnutém safe mode. |
||
Časová prodleva: 9 let
|
0