Obsah fóra
PravidláRegistrovaťPrihlásenie




Odpovedať na tému [ Príspevkov: 4 ] 
AutorSpráva
Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 01.05.07
Prihlásený: 23.07.19
Príspevky: 420
Témy: 151
Príspevok NapísalOffline : 18.03.2011 20:09

Zdravím,

Rozhodol som sa spraviť si skript ktorý mi bude robiť štatistiku prístupov a tak. Mám súbor pocitadlo.php, ktorý vykonáva všetky zápisy do súborov .db. Keď navštívim stránku xxxxx.xx/xx/pocitadlo.php, tak to funguje (skript vypíše iba "0", a do súborov .db sa zapíše všetko čo sa má, priradí sa uživateľovi cookie...). Keď však daný súbor vložím pomocou include do iného súboru .php tak mi tam vybehne veľa chýb s fopen (failed to open stream: No such file or directory) a od toho sa odvíjajúcich chýb s fwrite a fread (supplied argument is not a valid stream resource). Nechápem prečo mi túto chybu hlási iba keď to mám pomocou include - a to aj v prípadoch keď ten súbor existuje - niektoré som totiž vytvoril dopredu, iné nechávam vytvárať skript.

pocitadlo.php je tu:
Kód:
<?php

date_default_timezone_set('Europe/Vienna');
$formatdatumu="D - d.m.Y - G:i:s";
$datum=date($formatdatumu);
$pozadovanastranka=$_SERVER['SCRIPT_NAME'];
$zapisdoidlogu = $datum ." Požadovaná stránka: ".$pozadovanastranka."<br />";






if(!isset($_COOKIE["id"])){

//precita subor s poctom id, zvysi o jedno a to priradi novemu uzivatelovi
$subor="db/pocetid.db";

if (!file_exists($subor) OR filesize($subor)==0) {
$pocetid=1;
$novyzapis=fopen($subor, "w");
fwrite($novyzapis,$pocetid);
fclose($novyzapis);
}
else{
$otvor=fopen($subor, "r");
$pocetid=fread($otvor, filesize($subor));
$pocetid+=1;
fclose($otvor);
$novyzapis=fopen($subor, "w");
fwrite($novyzapis,$pocetid);
fclose($novyzapis);
}

setcookie("id",$pocetid, time()+315360000);

//vzhladom na to ze som vo vetve noveho navstevnika vytvorim subor s jeho id
$subor2="db/uzivatele/".$pocetid.".db";
$vytvoreninoveho=fopen($subor2, "w");
fwrite($vytvoreninoveho,$zapisdoidlogu);
fclose($vytvoreninoveho);

//teraz zapis do logu, ktory bude pre obe vetvy
$obsahzapisu=$zapisdoidlogu." ID: ".$pocetid."<br/>";
$subor3="db/log.db";
$zapisdocelkovehologu=fopen($subor3, "a");
fwrite($zapisdocelkovehologu,$obsahzapisu);
fclose($zapisdocelkovehologu);
}
else
{
$idnavstevnika=$_COOKIE["id"];
$logexistujuceho="db/uzivatele/".$idnavstevnika.".db";
$otvorexistujuci=fopen($logexistujuceho, "a");
fwrite($otvorexistujuci, $zapisdoidlogu);
fclose($otvorexistujuci);

$obsahzapisu2=$zapisdoidlogu." ID: ".$idnavstevnika."<br/>";
$subor32="db/log.db";
$zapisdocelkovehologu2=@fopen($subor32, "a");
@fwrite($zapisdocelkovehologu2,$obsahzapisu2);
@fclose($zapisdocelkovehologu2);
}







//navsteva sa zapocita iba ak cookie navsteva nie je nastavena

if(!isset($_COOKIE["navsteva"])) {
//ostava zapis do pocitadla samotneho
$suborpocitadla="db/navstevnici/navstevnikov.db";

if(!file_exists($suborpocitadla)){
$xyz=fopen($suborpocitadla, "w");
fclose($xyz);
echo "halo";
}

$suborakopole=file($suborpocitadla, FILE_IGNORE_NEW_LINES);
$radku= count($suborakopole);
$poslednyradek=$radku-1;
$obsahposlednehoradku=$suborakopole[$poslednyradek];
$datum2=date("d.m.Y");
list($datum3, $dnes)=split("%", $obsahposlednehoradku);

if($datum3==$datum2){
$dnes++;
$obsahposlednehoradku=$datum3."%".$dnes;

$i=0;
while ($i<$poslednyradek){
$novepolenazapis .= $suborakopole[$i]."\n";
$i++;
}
$novepolenazapis .= $obsahposlednehoradku."\n";
}
else{
$i=0;

while ($i<=$poslednyradek){
$novepolenazapis .= $suborakopole[$i]."\n";
$i++;
}
$novepolenazapis .= $datum2."%1"."\n";
}

$otvorsuborpocitadla=fopen($suborpocitadla, "w");
fwrite($otvorsuborpocitadla, $novepolenazapis);
fclose($otvorsuborpocitadla);

setcookie("navsteva","ano");
}






//pocitadlo pre jednotlive stranky

$search=array("/", ".");
$replace=array("_", "_");
$pozadovanastrankaupr=str_replace($search, $replace, $pozadovanastranka);

$subor11="db/stranky/s".$pozadovanastrankaupr.".db";

if(!file_exists($subor11)){
$xyzz=fopen($subor11, "w");
fwrite($xyzz, 1);
fclose($xyzz);
}
else {
$otvorjednot=fopen($subor11, "r");
$sucasnypocetnav=fread($otvorjednot, filesize($subor11));
$sucasnypocetnav++;
fclose($otvorjednot);

$jednotstranka=fopen($subor11, "w");
fwrite($jednotstranka, $sucasnypocetnav);
fclose($jednotstranka);
}

//spravit statistiku pre kazdu stranku
//ak bude viac ako 30 riadkov tak novy subor
//spojit ip id a datum
?>


živá ukážka: www.prodetibrno.info/skuska/pocitadlo/pocitadlo.php - v pohode fungujúce
www.prodetibrno.info/skuska/doucovani.php
http://www.prodetibrno.info/skuska/pocitadlo/db/log.db - log každého pohybu
http://www.prodetibrno.info/skuska/poci ... evnikov.db - počítadlo návštev
http://www.prodetibrno.info/skuska/poci ... atele/2.db - logy návštevníkov
http://www.prodetibrno.info/skuska/poci ... dlo_php.db - pocitadlo návštev pre jednotlivu stránku

Fakt nechápem prečo mi tieto chyby vyhadzuje a prosil by som o radu


Offline

Užívateľ
Užívateľ
počítadlo, chyby s fopen,fwrite..., iba pri include

Registrovaný: 27.11.08
Prihlásený: 30.01.20
Príspevky: 630
Témy: 98
Bydlisko: Veľký Krtíš...
Príspevok NapísalOffline : 26.03.2011 11:29

skús použiť absolútne adresy


Offline

Užívateľ
Užívateľ
počítadlo, chyby s fopen,fwrite..., iba pri include

Registrovaný: 16.05.07
Prihlásený: 01.08.17
Príspevky: 837
Témy: 6
Príspevok NapísalOffline : 26.03.2011 14:53

ked pise ze ten subor neexistuje tak neexistuje.
pri include sa cesta nachadza v priecinku suboru na ktory sa odkazuje v adress bare prehliadaca.


Offline

Užívateľ
Užívateľ
Obrázok užívateľa

Registrovaný: 01.05.07
Prihlásený: 23.07.19
Príspevky: 420
Témy: 151
Príspevok Napísal autor témyOffline : 26.03.2011 21:02

nj. už som to zistil :-) dík za príspevok


Odpovedať na tému [ Príspevkov: 4 ] 


Podobné témy

 Témy  Odpovede  Zobrazenia  Posledný príspevok 
V tomto fóre nie sú ďalšie neprečítané témy. vypis chyby pri napalovani pri DVD hp DVDRAM GT30L

v Optické zariadenia

6

1264

22.09.2010 17:53

nexter Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Pocitadlo casu straveneho pri Internete

v Ponuka práce

7

2373

14.07.2009 21:59

tlacitko Enter Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. chyby pri memteste

v Pamäte

7

516

29.08.2011 17:39

majky358 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. chyby pri bootovani HDD

v Pevné disky a radiče

3

1436

29.01.2010 0:13

street2style Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. [VYRIESENE] PHP: problem s INCLUDE pri RewriteEngine On

v PHP, ASP

2

565

17.02.2009 14:33

max-m Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Chyby pri prihlasovaní cez MySQL

v PHP, ASP

4

922

26.11.2011 22:02

peco.voki Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. ATI Radeon X550XTX-chyby pri hrach

v ATI/AMD grafické karty

19

1835

13.07.2009 16:42

krsoprd Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. kód chyby 0x80070570 pri instal win7

v Operačné systémy Microsoft

6

1500

31.08.2012 11:18

zentin Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. WINDOWS 7 - CHYBY PRI NAPALOVANI CD/DVD

v Operačné systémy Microsoft

4

1426

20.02.2010 12:08

vazovski Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Druhý OS spustiť iba pri vyžiadaní

v Operačné systémy Microsoft

10

362

31.12.2013 18:22

shiro Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Nezapne mi PC iba pri zapnuti zdroja

v nVidia čipové sady

1

1086

01.09.2009 12:32

AsuSmaNiaK Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Jquery funkcne ale iba pri prvom kliknuti

v JavaScript, VBScript, Ajax

7

855

08.02.2012 20:08

shaggy Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Horizontalne čiary cez display - iba pri hrani hry.

v nVidia grafické karty

2

392

13.12.2014 22:15

coregamer Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Graficky ovadač prestane pracovat iba pri prvom spusteni hry

v Ovládače

11

720

24.12.2015 11:15

vaci Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. Zväčšiť pamäť iPhonu zo 16 na 128GB iba za 55€ ? Žiaden problém .. ale iba v Číne

v Novinky

11

1482

15.02.2016 15:06

liqua1 Zobrazenie posledných príspevkov

V tomto fóre nie sú ďalšie neprečítané témy. pocitadlo

v Redakčné systémy

2

604

09.02.2007 14:38

koudy Zobrazenie posledných príspevkov


Nemôžete zakladať nové témy v tomto fóre
Nemôžete odpovedať na témy v tomto fóre
Nemôžete upravovať svoje príspevky v tomto fóre
Nemôžete mazať svoje príspevky v tomto fóre

Skočiť na:  

Powered by phpBB Jarvis © 2005 - 2024 PCforum, webhosting by WebSupport, secured by GeoTrust, edited by JanoF
Ako väčšina webových stránok aj my používame cookies. Zotrvaním na webovej stránke súhlasíte, že ich môžeme používať.
Všeobecné podmienky, spracovanie osobných údajov a pravidlá fóra