Autor | Zpráva | ||
---|---|---|---|
Pavel Vlček Profil * |
#1 · Zasláno: 28. 12. 2007, 11:11:58 · Upravil/a: Pavel Vlček
Dobrý den. Tentokrát mi nefunguje scandir a copy. Asi to bude tím, že můj soubor má příponu php a ne php5, ale pro jistotu posílám k´ód s chybou.
$dir='/admin'; $files = scandir($dir); copy($files,$domena); $domena se pošle ve formuláři, který zde neposílám. V adresáři admin mám další adresáře a soubory a chci, aby se do té $domena zkopírovali. Můžete mi opět poradit? Vím, že sem zasílám kódy, které jsou buď chybně napsané, nebo jsem špatně spojil řetězce, jenže jsem nevidomý a brouzdání manuálem mi trvá dost dlouho. Díky. Adresář admin existuje, ale hlásí to: doména byla zaregistrovaná Warning: scandir(/admin) [function.scandir]: failed to open dir: No error in C:\AppServ\www\_www\regcomp.php on line 22 Warning: scandir() [function.scandir]: (errno 0): No error in C:\AppServ\www\_www\regcomp.php on line 22 Doména = adresář, který uživatel pošle ve formuláři. |
||
djlj Profil |
#2 · Zasláno: 28. 12. 2007, 11:16:29 · Upravil/a: djlj
První vstupní proměnná funkce copy musí být adresa k souboru, ne nějaké pole, či co ze scandiru vyleze.
Podívej se, jestli máš u toho adresáře ve Windows správně nastavená práva. |
||
Pavel Vlček Profil * |
#3 · Zasláno: 28. 12. 2007, 11:18:01 · Upravil/a: Pavel Vlček
Práva adresáře admin =0777.
|
||
djlj Profil |
#4 · Zasláno: 28. 12. 2007, 11:19:09
Pavel Vlček
Na Windows ale žádná práva 777 neexistují. |
||
Pavel Vlček Profil * |
#5 · Zasláno: 28. 12. 2007, 11:20:47
Tak moment. Mám zjistit práva adresáře admin, nebo windows? Trošku se začínám zamotávat.
|
||
djlj Profil |
#6 · Zasláno: 28. 12. 2007, 11:23:16
Adresáře admin. To znamená v průzkumníku označit složku, zmáčknout alt+enter, následně karta Zabezpečení.
|
||
Pavel Vlček Profil * |
#7 · Zasláno: 28. 12. 2007, 11:26:31
Já tam mám jen obecné, zdílení a vlastní nastavení.
|
||
Pavel Vlček Profil * |
#8 · Zasláno: 28. 12. 2007, 11:54:44
Změnil jsem původní kód na:
$dir='admin/'; $files = scandir($dir); $p = count($files); $t = $p - 2; for ($a = 1; $a == $t; $a++); { copy($files,$domena); } Ale hlásí to chybu v copy nosuch file or directory. |
||
Pavel Vlček Profil * |
#9 · Zasláno: 28. 12. 2007, 11:56:14
Změnil jsem původní kód na:
$dir='admin/'; $files = scandir($dir); $p = count($files); $t = $p - 2; for ($a = 1; $a == $t; $a++); { copy($files,$domena); } Ale hlásí to chybu v copy nosuch file or directory. |
||
Mike8748 Profil |
#10 · Zasláno: 28. 12. 2007, 13:49:16
Pavel Vlček
co si nepochopil na predchozi odpovedi >> První vstupní proměnná funkce copy musí být adresa k souboru, ne nějaké pole, či co ze scandiru vyleze. tedy ze tam nemas cpat pole? v tvym kodu copy($files,$domena) bude $files nahrazenot textem "Array", a pochybuju ze tam mas nejakej takovej soubor. tam by melo bejt spis copy($files[$a],$domena); (jinak jakej by melo smysl X krat kopirovat jeden soubor?) |
||
Pavel Vlček Profil * |
#11 · Zasláno: 28. 12. 2007, 14:42:12
Takže to array mám dát místo $files do copy? Se mnou je to těžké. Já jsem našel v manuálu něco podobného.
|
||
Mike8748 Profil |
#12 · Zasláno: 28. 12. 2007, 15:12:32
prikaz copy jako zadnej parametr Array nebere, tak to tam nikam davat nemuzes
pouzij ten zvyrazneny kod z posledniho prispevku |
||
Pavel Vlček Profil * |
#13 · Zasláno: 28. 12. 2007, 15:56:52 · Upravil/a: Pavel Vlček
Jenže já na něj nevidím, takže nevím, jaký kód to byl. Bylo to to copy($files[$a] atd?
Pokud ano, hlásí to permission denied. |
||
djlj Profil |
#14 · Zasláno: 30. 12. 2007, 00:04:31
Pavel Vlček
Prostě v copy musí být něco jako: copy("./soubor.jpg", "./slozka/soubor.jpg");. Viz manuál. |
||
Pavel Vlček Profil * |
#15 · Zasláno: 30. 12. 2007, 11:25:41
Takže přez tuto funkci nelze kopýrovat složky?
|
||
nightfish Profil |
#16 · Zasláno: 30. 12. 2007, 11:31:44
Takže přez tuto funkci nelze kopýrovat složky?
kopírovat nelze to úplně jednoduše... je potřeba cyklem rekurzivně procházet adresář, soubory kopírovat, adresáře vytvářet v novém umístění a pak pokračovat s kopírováním v nich |
||
Mastodont Profil |
#17 · Zasláno: 30. 12. 2007, 11:32:30
Pavel Vlček
Ne. Na kopírování celých složek máš dost příkladů v manuálu. http://cz2.php.net/manual/en/function.copy.php |
||
Časová prodleva: 16 let
|
0