Autor | Zpráva | ||
---|---|---|---|
kordy Profil |
#1 · Zasláno: 10. 2. 2011, 18:48:16
Dobrý večer
Moc se mi líbil tenhle článek:http://www.jakpsatweb.cz/php/soubory.html Použil jsem zápis do souboru. Problém je v tom, že si tam zapisuji cestu a při načítání tam vznikne mezera. No a pak mi samozřejmě cesta nesedí. Nevíte jak toto řešit? Cookies vylučuji rovnou, protože potřebuji, aby se mohli zapisovat data všech uživatelů ne jen většina. |
||
jenikkozak Profil |
#2 · Zasláno: 10. 2. 2011, 19:05:37
kordy:
Kde ti vzniká mezera? Ukaž svůj skript, třeba tam budeš mít chybu. |
||
kordy Profil |
#3 · Zasláno: 10. 2. 2011, 19:37:09
Je dost dlouhej a pak jsem zjistil, že nevzniká právě načítáním. Pak mi ale neni jasné kde vzniká... Kód přiložím moment.
|
||
kordy Profil |
#4 · Zasláno: 10. 2. 2011, 19:38:28 · Upravil/a: kordy
<?php $ip = $_SERVER['REMOTE_ADDR']; if(!empty($_POST["ulozit"])){ $allowDirs = array('s_ucasti_rk', 'bez_ucasti_rk'); $path = in_array($_POST['dir'], $allowDirs) ? "$_POST[dir]/$ip/$_POST[soubor3] $_POST[soubor]/$_POST[soubor3]$_POST[soubor].php" : "default/$_POST[soubor].php"; mkdir ($_POST[dir]."/".$ip."/".$_POST[soubor3]." ".$_POST[soubor], 0777); mkdir ($_POST[dir]."/".$ip."/".$_POST[soubor3]." ".$_POST[soubor]."/galerie ", 0777); $w = file_put_contents($path, 'aaa'); if($w) echo ("šecko to fachá můžeš bejt klidnej :)"); else echo("Někde se stala chyba!"); // vypsání výsledku¨ $c1=$_POST[dir]; $c2=$_POST[soubor3]." ".$_POST[soubor]; $zapis = fopen($c1."/".$ip."/soubor.txt", "w"); fwrite($zapis, $c1."/".$ip."/".$c2."/galerie"."\n"); $zapis = fopen($c1."/".$ip."/soubor.txt", "a"); fwrite($zapis, $c1."/".$ip."/".$c2."/".$c2.".php"); fclose($zapis); $pis = fopen($path , "a"); fwrite($pis, file_get_contents ( 'vypis.txt' )); fclose($pis); } $soubor = fopen( "s_ucasti_rk/88.102.254.72/soubor.txt", "r" ); // tohle je samozřejmě nepoužitelné dal jsem to tam, abych se ujistil, že chyba neni v cestě.... $prvni=fgets($soubor); $druhy=fgets($soubor); ?> <HTML> <HEAD><TITLE>Upload</TITLE></HEAD> <BODY> <b>Zadejte jmeno souboru:</b> <FORM ACTION="akce.php" METHOD="post" ENCTYPE="multipart/form-data"> <INPUT TYPE="file" NAME="soubor" SIZE="40"> <INPUT TYPE="submit" NAME="ok" VALUE="Upload"> </FORM> <?php $soubor_name=($_FILES["soubor"]["name"]); $soubor=($_FILES["soubor"]["tmp_name"]); $ok=($_POST["ok"]); if ($ok == "Upload" && $soubor_name!="") { if (move_uploaded_file($soubor,$prvni."/".$soubor_name)) { chmod ($prvni."/".$soubor_name, 0777); echo "<b>Soubor $soubor_name byl nahran na server</b><BR>"; } else { echo "<b>Chyba - soubor nebyl nahran</b><BR>".$prvni."/".$soubor_name; } } ?> </BODY> </HTML> |
||
kordy Profil |
#5 · Zasláno: 10. 2. 2011, 19:45:10
Pro ty komu se nechce číst všechno řádek 26 načítání souboru.
Řádek 46-53 použití načteného jinde by podle mě chyba logicky neměla být. Když jsem se koukal do toho souboru(řádek 14-19) cesta je skutečně napsána zprávně bez mezery tak sem z toho blbej. Vím, že je ten kód otřesnej, ale teď potřebuji opravit tuhle jedinnou funkčnosti bránící chybu. |
||
jenikkozak Profil |
Když jsem chtěl kód, myslel jsem, že přidáš problematickou část.
Tenhle asi taky nebude kompletní, kde bereš třeba $_POST[soubor3]? |
||
kordy Profil |
#7 · Zasláno: 10. 2. 2011, 20:38:11 · Upravil/a: kordy
To myslím neřeší problém. Mohl bych sem klidně dodat další soubor, ale byl by zbytečný chyba musí být zde.
Ano mohl jsem sem pokopírovat jen to co jsem vypsal v #5, ale pro případ, že by byla chyba někde jinde jsem přiložil soubor, kde s největší pravděpodobností je chyba. Jak jsem psal cesta v tom txt souboru je to napsáno zprávně, takže chyba bude nejspíš na řádcích 40-53 |
||
Chro Profil |
#8 · Zasláno: 11. 2. 2011, 01:23:05
kordy:
Víš, že pokud načteš ze souboru řádek s obsahem do proměnné funkcí fgets(), může mít řádek na konci řádkový zlom \n? Odstraň ho: ... $prvni = trim(fgets($soubor)); $druhy = trim(fgets($soubor)); fclose($soubor); |
||
kordy Profil |
#9 · Zasláno: 11. 2. 2011, 14:42:49
Díky moc už to funguje! :) Můžete lock
|
||
Časová prodleva: 13 let
|
0