php textový súbor

Programovacie jazyky, rady, poradňa...
nemo
Light Star
Light Star
Príspevky: 206
Registrovaný: 13 júl 2009, 7:09

php textový súbor

Príspevok od používateľa nemo »

Dajme tomu že mám .txt súbor, index.txt ... v ňom mám údaje (log)... log sa mi vypise v index.php Niekedy má log aj vyše 1 MB ale nechcem to riešiť vymazaním ale tak že ak bude mať .txt súbor viac ako 500kb tak mi v indexe ukáže číslicu 1 a 2 a keď kliknem na 1ku tak mi to vypíše log len do 500kb ale keď kliknem na 2 ku tak mi to vypíše od 500kb (log)... Dá sa to nejako zrealizovať ak áno nejaké rady, funkcie ktoré by sa na to hodili popr. kód Ďakujem.
*****HERO*****
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2446
Registrovaný: 08 máj 2006, 1:34

Re: php textový súbor

Príspevok od používateľa *****HERO***** »

nejak takto

Kód: Vybrať všetko

<?php
$subor = 'index.txt';
$f = fopen($subor, 'r');
if(filesize($subor) > 500*1024){
	echo '<a href="?a=1">1</a>';
	echo '<br />';
	echo '<a href="?a=2">2</a>';
	echo '<br />';
	if(isset($_GET['a'])){
		if($_GET['a'] == 1){
			echo fread($f, 500*1024);
		}elseif($_GET['a'] == 2){
			fseek($f, 500*1024);
			echo fread($f, filesize($subor) - 500*1024);
		}
	}
}else{
	echo fread($f, filesize($subor));
}
nemo
Light Star
Light Star
Príspevky: 206
Registrovaný: 13 júl 2009, 7:09

Re: php textový súbor

Príspevok od používateľa nemo »

thx neskusal som to ale urcite vyskusam a skusim tomu aj pochopit...
Ale potrebujem este 1 pomoc mam zapisovanie

Kód: Vybrať všetko

$file = fopen("./xD.txt", "a", 1);
$text = $_POST['cmd'] . "<br>";
fwrite($file, $text);
fclose($file);
a teraz ked tam nieco cez form pripíšem $_POST['cmd'] tak mi to pripíše na koniec txt, ako to spraviť aby mi to pripisovalo na začiatok?
*****HERO*****
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2446
Registrovaný: 08 máj 2006, 1:34

Re: php textový súbor

Príspevok od používateľa *****HERO***** »

http://stackoverflow.com/questions/3332 ... -beginning


btw riesi sa tu dokola to iste, stale nejake chobotiny s textovymi subormi, nemas tu nahodou viacero uctov, ze?
harrison314
Hardcore addict
Hardcore addict
Používateľov profilový obrázok
Príspevky: 8223
Registrovaný: 27 máj 2009, 20:42
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: php textový súbor

Príspevok od používateľa harrison314 »

Dvaja rozdielni pouzivatelia, co v rovnakom case riesia ten isty problem, v rovnakom jazyku a rovnako zle nazyvaju premnne ($_POST[cmd]) ? Malo pravdepodobne....
audiotrack
VIP
VIP
Používateľov profilový obrázok
Príspevky: 25958
Registrovaný: 09 sep 2005, 18:39
Kontaktovať používateľa:

Re: php textový súbor

Príspevok od používateľa audiotrack »

keby len dvaja, vybavím pracovné maily a idem sa na to pozreť
nemo
Light Star
Light Star
Príspevky: 206
Registrovaný: 13 júl 2009, 7:09

Re: php textový súbor

Príspevok od používateľa nemo »

*****HERO***** napísal:nejak takto

Kód: Vybrať všetko

<?php
$subor = 'index.txt';
$f = fopen($subor, 'r');
if(filesize($subor) > 500*1024){
	echo '<a href="?a=1">1</a>';
	echo '<br />';
	echo '<a href="?a=2">2</a>';
	echo '<br />';
	if(isset($_GET['a'])){
		if($_GET['a'] == 1){
			echo fread($f, 500*1024);
		}elseif($_GET['a'] == 2){
			fseek($f, 500*1024);
			echo fread($f, filesize($subor) - 500*1024);
		}
	}
}else{
	echo fread($f, filesize($subor));
}
vypisuje warning

Kód: Vybrať všetko

Warning: fread() [function.fread]: Length parameter must be greater than 0 in C:\xampp\htdocs\index.php on line 18
riadok 18

Kód: Vybrať všetko

echo fread($f, filesize($subor));
a este 1 vec ako to upravit s kb na b?
*****HERO*****
Guru wannabe
Guru wannabe
Používateľov profilový obrázok
Príspevky: 2446
Registrovaný: 08 máj 2006, 1:34

Re: php textový súbor

Príspevok od používateľa *****HERO***** »

staci si ten warning precitat a pozriet co za funkciu sa vola na tom riadku a ake parametre do nej vstupuju .. vyplyva z toho, ze ten subor je prazdny (alebo neexistuje, to by ale warning bol iny) .. cize aby to bolo uplne koser, mal by si to mat takto osetrene

Kód: Vybrať všetko

<?
$subor = 'index.txt';
if(file_exists($subor)){
	$f = fopen($subor, 'r');
	$velkost = filesize($subor);
	if($velkost > 500*1024){
		echo '<a href="?a=1">1</a>';
		echo '<br />';
		echo '<a href="?a=2">2</a>';
		echo '<br />';
		if(isset($_GET['a'])){
			if($_GET['a'] == 1){
				echo fread($f, 500*1024);
			}elseif($_GET['a'] == 2){
				fseek($f, 500*1024);
				echo fread($f, $velkost - 500*1024);
			}
		}
	}elseif($velkost > 0){
		echo fread($f, $velkost);
	}else{
		echo 'subor ' . $subor . ' je prazdny';
	}
}else{
	echo 'subor ' . $subor . ' neexistuje';
}
aacid
Hardcore addict
Hardcore addict
Príspevky: 8137
Registrovaný: 22 nov 2006, 21:55
Bydlisko: BA

Re: php textový súbor

Príspevok od používateľa aacid »

nemo napísal: a este 1 vec ako to upravit s kb na b?
toto je ozajsna otazka?

presne tak isto ako upravis kilometre na metre...
weroro
Flash coder
Flash coder
Používateľov profilový obrázok
Príspevky: 3206
Registrovaný: 14 feb 2009, 22:34
Bydlisko: Bratislava
Kontaktovať používateľa:

Re: php textový súbor

Príspevok od používateľa weroro »

aacid: Len či vie, že musí počítať aj s 2,4% odchýlkou. :) Čiže namiesto 1000 počítať s 1024.
Napísať odpoveď