Práce s Adresáři
20 příspěvků
Archiv diskusního fóra
Fórum je uzavřené a slouží pouze ke čtení. Některé informace mohou být zastaralé.
-
Jakto že nemohu zapsat soubor do podadresáře? Vytvořím PHPkem adresář a když se do něho pokusím kopírovat soubor tak se zkopíruje do kořenového adresáře.
-
tak to mas asi neco spatne v tom skriptu. kdyby se nedalo zapisovat do toho adresare, kam chces, tak by ti to hodilo nejakou hlasku o chybe
-
A nebo máš špatně napsanou cestu ve fci copy()
-
hoď sem ten script, ať se na to mužeme podívat
-
Důležité výňatky: / zapsani clanku do pomocneho souboru @$kontrola = fputs($soubor,"$clanek_uz"); if (!$kontrola): echo "Nelze zapisovat do souboru"; include ("div_2.php"); break; endif; fclose ($soubor); // zapis do souboru na ostro @$kontrola = copy("pomocnadata\\pomocny.txt","data\\".$nazev_uz.".txt"); if (!$kontrola): $adresa="clanek_input.php?heslo_k=3&login=$login_uz&sekce=$sekce_uz&vy=1"; header ( "location: $adresa "); break; endif; // vymazani pomocneho souboru @$kontrola = unlink("pomocnadata\\pomocny.txt"); if (!$kontrola): include ("div_1.php"); echo "Nelze odatranit soubor"; include ("div_2.php"); break; endif;
-
Tenhle řádek nevím proč, ale nesedí mi: @$kontrola = copy("pomocnadata\\pomocny.txt","data\\".$nazev_uz.".txt");
-
No prostě nechápu, proč tam jsou dvě zpětný lomítka za sebou, já bych to udělal takhle: @$kontrola = copy("./pomocnadata/pomocny.txt","data/".$nazev_uz.".txt");
-
Proč? Mě doma funguje perfektně.
-
Tak kydž ti to funguje doma perfektně, tak v čem je tedy chyba? Že se ti to zkopíruje jinam než chceš? Pak máš IMHO blbě napsanou cestu.
-
> Proč? Mě doma funguje perfektně. Doma máš určitě Windows, tam zpětný lomitka fungují, na Linuxu NE.
-
Takže jaký mám používat lomítka?
-
tyhle -> / <- , stejne jako v html
-
Ale mě to neháže ždnou chybovou hlášku. Jen to pořád kopiruje do kořenového adresáře.
-
php: \\ = / \" = " a dal uz si to nepamatuju :-(
-
\\ == /, to jo, ale proc si to koplikovat... je toho vic, ale ja jsem zatim pouzil jenom \n == novej radek
-
urcite je problem v tom kopirovani? mozna tam delaj bordel ty \ a ", ale na to bych moc nevsazel... kazdopadne muzes zkusit 'data/'.$nazev_uz.'.txt'. nebo zkus pred ten adresar dat / nebo ./...
-
Pokud tam dám jinej řádek než copy("pomocnadata\\pomocny.txt","data\\".$nazev_uz.".txt"); tak to háže chybu, žáný jiný lomítka to nesežere.
-
to je nejaky divny, to by melo normalne chodit i s /. a to ti to nefunguje tady nebo doma?
-
no. kdysi jsem si stahoval takovej skript na uploadování souborů: <HEAD> <TITLE>Upload souboru</TITLE> </HEAD> <BODY> <? if ($akce==upload) { $datum = Date("j.n.Y"); $cas = Date("H:i:s"); $warsize=500000; //doporučená velikost souboru $maxsize=1000000; //maximální velikost souboru $ms=$maxsize/1000; $ws=$warsize/1000; $ok=1; //pomocná proměnná $adresar="soubory/"; //adresář pro ukládání souborů (lomítko je důležité!) $email="vas@email"; //email, na který budou zasílány informace if($soubor) { $s=$adresar.$soubor_name; if($soubor_size>$maxsize) { printf("CHYBA: Soubor <strong>$soubor_name</strong> má větší velikost než stanovená maximální velikost souboru, která činí $ms kB."); $ok=0; } else if($soubor_size>$warsize) printf("UPOZORNĚNÍ: Soubor <strong>$soubor_name</strong> má větší než doporučenou velikost. Doporučená velikost je $ws kB."); clearstatcache(); if($ok&&file_exists($s)) { printf("CHYBA: Soubor <strong>$soubor_name</strong> již extuje, proto nemohl být znova uložen."); $ok=0; } if ($ok) { if(!(copy($soubor,$s))) printf("CHYBA: Soubor <strong>$soubor_name</strong> nemohl být zkopírován. Kontaktujte správce."); else { chmod($s,0644); printf("Soubor <strong>$soubor_name</strong> byl úspěšně uložen."); } } } $text.="Na server byl nahran soubor ".$soubor_name."."; mail($email,"Upload",$text,"From: ".$email); } ?> <FORM ACTION="upload.php" METHOD="post" ENCTYPE="multipart/form-data"> <INPUT TYPE="file" NAME="soubor" SIZE="30"> <INPUT TYPE="submit" NAME="akce" VALUE="Přidat soubor"> </FORM> </BODY> funguje to všude...
-
ad [Majkls]: to je nejake divne, nestudoval jsem ten script, ale vypada to ze se nikdy neprovede cast v podmince $akce=="upload",protoze to neni v formulari, z toho leze pouze $akce="Přidat soubor"...