Website einlesen

Hallo,

Habe folgendes Problem auf dem Webspace von bplaced:
Die wichtigen PHP Funktionen:
file(),
file_get_contents(),
fopen()

klappen nicht.
Benötige 5 strings die ich in einer PHP Datei in variablen ermittle, auf der startseite angezeigt.
ein include klappt nicht, da in der datei wo die 5 strings ermittelt werden auch wiederum includes drinnen stehen.
außerdem klappt das include nicht von einem unterordner:
include ‘unterordner/file.php’

kann mir jemand helfen wie ich per PHP die 5 Strings auf die Startseite bekomme?
möchte gerne auf
/index.php die 5 strings von /unterordner/file.php, die direkt angezeigt werden oder als PHP Variablen vorliegen, angezeigt bekommen.
Danke,

Nabend,

also prinzipiell funktioniert das includen von Datein auf dem selben Webspace, genauso wie das einlesen von Files die auf dem selben Webspace liegen. Wenn ein Fehler auftritt dann liegt er in der /unterordner/file.php Da du aber nicht angibst was genau der Fehler ist, geschweige denn was diese “File.php” eigentlichen macht, was für Strings du da als Variable haben möchtest, noch sonst irgendwas. Können wir dir an dieser Stelle leider nicht weiter helfen. Also mach Bitte präzisere Angaben zu deinem Problem.

Greez

[quote=“klaus1”]Habe folgendes Problem auf dem Webspace von bplaced:
Die wichtigen PHP Funktionen:
file(),
file_get_contents(),
fopen()

klappen nicht.[/quote]
Das macht nichts.
Alle drei sind fuer das, was du vorhast, kaum geeignet.

[quote]Benötige 5 strings die ich in einer PHP Datei in variablen ermittle, auf der startseite angezeigt.
ein include klappt nicht, da in der datei wo die 5 strings ermittelt werden auch wiederum includes drinnen stehen.[/quote]
Warum sollten includes innerhalb von includes nicht funktionieren?
Du musst lediglich dafuer sorgen, dass die Pfadangaben ueberall stimmig sind.

[quote]außerdem klappt das include nicht von einem unterordner:
include ‘unterordner/file.php’[/quote]
Gewoehne dir “klappt nicht” bitte in diesem Moment ab - Danke.
“Klappt nicht” ist absolut keine brauchbare Problembeschreibung.

[quote]kann mir jemand helfen wie ich per PHP die 5 Strings auf die Startseite bekomme?
möchte gerne auf
/index.php die 5 strings von /unterordner/file.php, die direkt angezeigt werden oder als PHP Variablen vorliegen, angezeigt bekommen.[/quote]
Dann beschreibe bitte erst mal, warum das bisher “nicht klappt”.
error_reporting auf E_ALL zu stellen, sollte selbstverstaendlich sein.

also, das file aus dem ich die daten beziehen möchte sieht so aus:

[code]

<?php error_reporting(0); //------------------------------------------------------------------ @ini_set ( "max_execution_time","false" ); # set the script time #@set_time_limit ( 0 ); #------------------------------------------------------------------ include ( "config/config.php" ); # include path to logfile #------------------------------------------------------------------ if ( $_GET [ "language" ] ) { if ( $_GET [ "language" ] == "en" ) { include ( "language/english.php" ); } if ( $_GET [ "language" ] == "de" ) { include ( "language/german.php" ); } if ( $_GET [ "language" ] == "nl" ) { include ( "language/dutch.php" ); } if ( $_GET [ "language" ] == "it" ) { include ( "language/italian.php" ); } if ( $_GET [ "language" ] == "sp" ) { include ( "language/spanish.php" ); } if ( $_GET [ "language" ] == "fa" ) { include ( "language/farsi.php" ); } } else { include ( $language ); # include language vars from the config file } #------------------------------------------------------------------ ### !!! never change this value !!! ### $version_number = "1.9"; #------------------------------------------------------------------ function display_overview ( $title , &$text1 , &$module1 , &$text2 , &$module2 , &$text3 , &$module3 , &$text4 , &$module4 , &$text5 , &$module5 , &$text6 , $module6 , &$text7 , &$module7 , &$text8 , &$module8 , $footer ) { include ( "config/config.php" ); # include path to logfile echo ""; echo ""; if ( $counter_display_show_visitors_online == 1 ) { echo ""; } if ( $counter_display_show_today == 1 ) { echo ""; } if ( $counter_display_show_yesterday == 1 ) { echo ""; } if ( $counter_display_show_this_month == 1 ) { echo ""; } if ( $counter_display_show_last_month == 1 ) { echo ""; } if ( $counter_display_show_max == 1 ) { echo ""; } if ( $counter_display_show_average == 1 ) { echo ""; } if ( $counter_display_show_total == 1 ) { echo ""; } if ( $counter_display_show_footer == 1 ) { echo ""; } echo "
".$title."
".$text1." ".$module1."
".$text2." ".$module2."
".$text3." ".$module3."
".$text4." ".$module4."
".$text5." ".$module5."
".$text6." ".$module6."
".$text7." ".$module7."
".$text8." ".($module8+$counter_add_visitors)."
".$footer."
"; } #------------------------------------------------------------------ # get the actual day & the amount of days this month $temp_month = date ( "m" ); $temp_count_day_month = date ( "t" ); $temp_year = date ( "y" ); # set the days values to zero for ( $x = 1 ; $x <= $temp_count_day_month ; $x++ ) { if ( $x <= 9 ) { $visitor_day [ $temp_year."/".$temp_month."/0".$x ] = 0; } else { $visitor_day [ $temp_year."/".$temp_month."/".$x ] = 0; } } unset ( $temp_month ); unset ( $temp_count_day_month ); unset ( $temp_year ); #------------------------------------------------------------------ # get the actual year $temp_year = date ( "Y" ); # set the month values to zero for ( $x = 1 ; $x <= 12 ; $x++ ) { if ( $x <= 9 ) { $visitor_month [ "0".$x."/".$temp_year ] = 0; } else { $visitor_month [ $x."/".$temp_year ] = 0; } } unset ( $temp_year ); #------------------------------------------------------------------ include ( "log/cache_time_stamp_counter.php" ); # include the last timestamp include ( "log/cache_visitors_counter.php" ); # include the saved arrays #------------------------------------------------------------------ if ( !$visitor ) { $visitor = array ( ); } $write_cache = 0; if ( !$visitor_online ) { $visitor_online = array ( ); } #---------- if ( isset ( $starting_date ) ) { if ( $starting_date == "TT.MM.YYYY" ) { $logfile_first_timestamp = fopen ( "log/logdb_backup.dta" , "r" ); # open logfile $logfile_entry_first_timestamp = fgetcsv ( $logfile_first_timestamp , 60000 , "|" ); # read entry from logfile $first_timestamp = date ( "d.m.Y" , $logfile_entry_first_timestamp [ 0 ] ); fclose ( $logfile_first_timestamp ); # close logfile unset ( $logfile_first_timestamp ); unset ( $logfile_entry_first_timestamp ); } else { $first_timestamp = $starting_date; } } else { $logfile_first_timestamp = fopen ( "log/logdb_backup.dta" , "r" ); # open logfile $logfile_entry_first_timestamp = fgetcsv ( $logfile_first_timestamp , 60000 , "|" ); # read entry from logfile $first_timestamp = date ( "d.m.Y" , $logfile_entry_first_timestamp [ 0 ] ); fclose ( $logfile_first_timestamp ); # close logfile unset ( $logfile_first_timestamp ); unset ( $logfile_entry_first_timestamp ); } #---------- $logfile = fopen ( "log/logdb_counter.dta" , "r" ); # open logfile while ( !FEOF ( $logfile ) ) # as long as there are entries { $logfile_entry = fgetcsv ( $logfile , 60000 , "|" ); # read entry from logfile if ( ( trim ( $logfile_entry [ 0 ] ) != "" ) && ( $logfile_entry [ 0 ] >= date ( "U" , strtotime ( "-".$online_recount_time." minutes" ) ) ) && ( !$visitor_online [ $logfile_entry [ 1 ] ] ) ) { $visitor_online [ $logfile_entry [ 1 ] ]++; # save the ip address $visitors_online++; # increase the amount of visitors that are online in the last x minutes } if ( ( trim ( $logfile_entry [ 0 ] ) != "" ) && ( $logfile_entry [ 0 ] > $cache_time_stamp ) ) { $write_cache = 1; # if new entries are found $last_logfile_entry = $logfile_entry [ 0 ]; # last logfile entry for the cache #------------------------------------------------------------------------------------------ # if ip-address found and timestamp <= timestamp+recount_time if ( ( array_key_exists ( $logfile_entry [ 1 ] , $visitor ) ) && ( $logfile_entry [ 0 ] <= $visitor [ $logfile_entry [ 1 ] ] ) ) { } else { $visitor [ $logfile_entry [ 1 ] ] = $logfile_entry [ 0 ] + ( $ip_recount_time * 60 ); #if ( $logfile_entry [ 0 ] > strtotime ( "-3 day" ) ) # { $visitor_day [ date ( "y/m/d" , $logfile_entry [ 0 ] ) ]++; # } $visitor_month [ date ( "m/Y" , $logfile_entry [ 0 ] ) ]++; $visitor_year [ date ( " Y " , $logfile_entry [ 0 ] ) ]++; } } } fclose ( $logfile ); # close logfile unset ( $logfile ); unset ( $logfile_entry ); #------------------------------------------------------------------ # save the last logfile entry of the timestamp if ( $write_cache == 1 ) { $cache_time_stamp_file = fopen ( "log/cache_time_stamp_counter.php" , "w+" ); flock ( $cache_time_stamp_file , 2 ); fwrite ( $cache_time_stamp_file , "<?php \$cache_time_stamp = \"".$last_logfile_entry."\";?>" ); #save the last read timestamp of the logfile

flock ( $cache_time_stamp_file , 3 );
fclose ( $cache_time_stamp_file );
unset ( $cache_time_stamp_file );
unset ( $last_logfile_entry );
}
#------------------------------------------------------------------

kill all days with zero values

foreach ( $visitor_day as $key => $value )
{
if ( $value > 0 ) $temp_counter++;
}
if ( $temp_counter == 0 )
{
$average = 0;
}
else
{
$average = (int) round ( array_sum ( $visitor_day ) / $temp_counter );
}
unset ( $temp_counter );
#------------------------------------------------------------------

if there is no visitor today

if ( $visitor_day [ date ( “y/m/d” ) ] )
{
}
else
{
$visitor_day [ date ( “y/m/d” ) ] = 0;
}

if there is no visitor yesterday

if ( $visitor_day [ date ( “y/m/d” , strtotime ( “-1 day” ) ) ] )
{
$visitor_yesterday = $visitor_day [ date ( “y/m/d” , strtotime ( “-1 day” ) ) ];
}
else
{
$visitor_yesterday = 0;
}

if there is no visitor last month

if ( $visitor_month [ date ( “m/Y” , strtotime ( “-31 days” ) ) ] )
{
$visitor_lastmonth = $visitor_month [ date ( “m/Y” , mktime (0, 0, 0, date(“m”)-1, date(“d”), date(“Y”) ) ) ];
}
else
{
$visitor_lastmonth = 0;
}
#------------------------------------------------------------------

save all array entries to the cache file

if ( $write_cache == 1 )
{
$cache_visitors_file = fopen ( “log/cache_visitors_counter.php” , “w+” );
flock ( $cache_visitors_file , 2 ); # lock the file
fwrite ( $cache_visitors_file , “<?php\n” ); # php header
#----------------
if ( $visitor )
{
$temp_file_counter = 1;
fwrite ( $cache_visitors_file , “$visitor = array ( \n” ); # array header
$count_array = count ( $visitor );
foreach ( $visitor as $key => $value )
{
if ( $value >= strtotime ( “-2 days” ) )
{
if ( $temp_file_counter == $count_array )
{
fwrite ( $cache_visitors_file , “”".$key."" => “”.$value.""\n" ); # array values without “,”
}
else
{
fwrite ( $cache_visitors_file , “”".$key."" => “”.$value."" ,\n " ); # array values with “,” at the end
}
}
$temp_file_counter++;
}
fwrite ( $cache_visitors_file , “\n);\n\n” ); # array footer
}
#----------------
if ( $visitor_day )
{
$temp_file_counter = 1;
fwrite ( $cache_visitors_file , “$visitor_day = array ( \n” ); # array header
$count_array = count ( $visitor_day );
foreach ( $visitor_day as $key => $value )
{
if ( $temp_file_counter == $count_array )
{
fwrite ( $cache_visitors_file , “”".$key."" => “”.$value.""\n" ); # array values without “,”
}
else
{
fwrite ( $cache_visitors_file , “”".$key."" => “”.$value."" ,\n " ); # array values with “,” at the end
}
$temp_file_counter++;
}
fwrite ( $cache_visitors_file , “\n);\n\n” ); # array footer
}
#----------------
if ( $visitor_month )
{
$temp_file_counter = 1;
fwrite ( $cache_visitors_file , “$visitor_month = array ( \n” ); # array header
$count_array = count ( $visitor_month );
foreach ( $visitor_month as $key => $value )
{
if ( $temp_file_counter == $count_array )
{
fwrite ( $cache_visitors_file , “”".$key."" => “”.$value.""\n" ); # array values without “,”
}
else
{
fwrite ( $cache_visitors_file , “”".$key."" => “”.$value."" ,\n " ); # array values with “,” at the end
}
$temp_file_counter++;
}
fwrite ( $cache_visitors_file , “\n);\n\n” ); # array footer
}
#----------------
if ( $visitor_year )
{
$temp_file_counter = 1;
fwrite ( $cache_visitors_file , “$visitor_year = array ( \n” ); # array header
$count_array = count ( $visitor_year );
foreach ( $visitor_year as $key => $value )
{
if ( $temp_file_counter == $count_array )
{
fwrite ( $cache_visitors_file , “”".$key."" => “”.$value.""\n" ); # array values without “,”
}
else
{
fwrite ( $cache_visitors_file , “”".$key."" => “”.$value."" ,\n " ); # array values with “,” at the end
}
$temp_file_counter++;
}
fwrite ( $cache_visitors_file , “\n);\n\n” ); # array footer
}
#----------------
fwrite ( $cache_visitors_file , “\n?>” ); # php footer
flock ( $cache_visitors_file , 3 );
fclose ( $cache_visitors_file );
unset ( $cache_visitors_file );
unset ( $temp_file_counter );
}
#------------------------------------------------------------------
include ( “func/html_header.php” ); // include html header
#------------------------------------------------------------------

display the stat modules

if ( $visitor_year )
{
$visitor_per_year = array_sum ( $visitor_year ) ;
}
else
{
$visitor_per_year = 0;
}

if ( !$visitors_online ) # if no visitors online have been counted
{
$visitors_online = 0;
}
/*
display_overview ( “<div class=“counter_user”>”.$lang_counter[1]."" ,
$lang_counter[2],
$visitors_online ,
$lang_counter[3] ,
$visitor_day [ date ( “y/m/d” , time ( ) ) ] ,
$lang_counter[4] ,
$visitor_yesterday ,
date ( “m/Y” ),
$visitor_month [ date ( “m/Y” , time ( ) ) ] ,
date ( “m/Y” , strtotime ( “-1 month” ) ) ,
$visitor_lastmonth ,
$lang_counter[5] ,
max ( $visitor_day ),
$lang_counter[6] ,
$average ,
$lang_counter[7] ,
$visitor_per_year ,
$lang_counter[8]." ".$first_timestamp );
*/
echo $visitors_online;
echo “
”;
echo $visitor_day [ date ( “y/m/d” , time ( ) ) ];
echo “
”;
echo $visitor_yesterday;
echo “
”;
echo max($visitor_day);
echo “
”;
echo $visitor_per_year;

#------------------------------------------------------------------
include ( “func/html_footer.php” ); // include html footer
#------------------------------------------------------------------

take all entries of the original logfile that are newer than 2 days to the temp logfile

$log_file = fopen ( “log/logdb_counter.dta” , “r” ); # open logfile
$log_file_temp = fopen ( “log/logdb_counter_temp.dta” , “w+” ); # open temp-logfile
flock ( $log_file_temp , 2 );
while ( !FEOF ( $log_file ) )
{
$logfile_entry = fgetcsv ( $log_file , 60000 , “|” ); # read entry from logfile
if ( ( $logfile_entry [ 0 ] != “” ) && ( $logfile_entry [ 0 ] >= strtotime ("-2 days" ) ) )
{
fwrite ( $log_file_temp , $logfile_entry [ 0 ]."|".$logfile_entry [ 1 ]."\n" );
}
}
flock ( $log_file_temp , 3 );
fclose ( $log_file ); # close logfile
fclose ( $log_file_temp ); # close logfile
unset ( $log_file ); # kill var
unset ( $log_file_temp ); # kill var

kill the original logfile and take all entries from the temp logfile back to the original logfile

$log_file_temp = fopen ( “log/logdb_counter_temp.dta” , “r” ); # open temp-logfile
$log_file = fopen ( “log/logdb_counter.dta” , “w+” ); # open logfile
flock ( $log_file , 2 );
while ( !FEOF ( $log_file_temp ) )
{
$logfile_entry = fgetcsv ( $log_file_temp , 60000 , “|” ); # read entry from logfile
if ( $logfile_entry [ 0 ] != “” )
{
fwrite ( $log_file , $logfile_entry [ 0 ]."|".$logfile_entry [ 1 ]."\n" );
}
}
flock ( $log_file , 3 );
fclose ( $log_file_temp ); # close logfile
fclose ( $log_file ); # close logfile
unset ( $log_file_temp ); # kill var
unset ( $log_file ); # kill var
#------------------------------------------------------------------

kill all vars

unset ( $average );
unset ( $visitor_yesterday );
unset ( $visitor_lastmonth );
unset ( $visitor_per_year );
unset ( $visitor );
unset ( $visitor_day );
unset ( $visitor_month );
unset ( $visitor_year );
unset ( $first_timestamp );
?>[/code]

und liegt auf meinem webspace im ordner /stat/counter2.php

jetzt möchte ich auf der startseite also /index.php die daten verwenden mit:

echo $visitors_online;
echo "<br>";
echo $visitor_day;
echo "<br>";
echo $visitor_yesterday;
echo "<br>";
echo $visitor_day;
echo "<br>";
echo $visitor_per_year;

leider kann der Interpreter hier nichts includieren, weil im eigentlichen File wieder Files includiert werden. muss dich die Includierten Files alle im index.php includieren, damit die Daten angezeigt werden können?

Nabend Klaus,

beim überfliegen hab ich erstmal keinen externen Verweis finden können, bleibt noch die Ordnerstruktur als mögliche Fehlerursache:

du includierst in index.php die stat/counter2.php, nun wäre die Frage ob z.B. der Ordner log ein Unterordner von stat oder vom root Directory ist.

Also sieht das eher so aus:
wwwroot/index.php
wwwroot/stat/counter2.php
wwwroot/stat/log/cache_time_stamp_counter.php
wwwroot/stat/log/cache_visitors_counter.php

oder eher so:
wwwroot/index.php
wwwroot/stat/counter2.php
wwwroot/log/cache_time_stamp_counter.php
wwwroot/log/cache_visitors_counter.php

denn die Pfadangaben in counter2.php sind relativ angegeben und beziehen sich jeweils auf Files und Unterordner von “stat”, sollte die Files nicht unterhalb von stat liegen, musst diese Pfade dementsprechend anpassen.
z.b. include ("…/log/cache_time_stamp_counter.php");

Greez

sieht so aus:
wwwroot/index.php
wwwroot/stat/counter2.php
wwwroot/stat/log/cache_time_stamp_counter.php
wwwroot/stat/log/cache_visitors_counter.php

counter2.php auch lauffähig im ordner.
aber includieren von wwwroot/index.php aus nicht möglich.
soll ich nun counter2.php editieren? obwohl von da aus betrachtet passen die ordner angaben ja.
Oder die index.php, hier zusätzlich die beiden anderen php files includieren?
danke.

wie kann ich selber die logstufe von php erhöhen.

Entferne bitte die Zeilen

error_reporting(0); //------------------------------------------------------------------ @ini_set ( "max_execution_time","false" ); # set the script time #@set_time_limit ( 0 );

Dann fügst du statt diesen das hier ein:

und aus jedem Dateipfad, zb

machst du

Parse error: syntax error, unexpected '=' in cache_time_stamp_counter.php on line 1

Parse error: syntax error, unexpected ‘=’ in cache_time_stamp_counter.php on line 1

Gib mir bitte mal die ersten 5 Zeilen…
(diesen Fehler hab ich auch noch nie gesehen)

Die ersten 5 Zeilen der “cache_time_stamp_counter.php”

das ist der gesamte Inhalt der Datei.

Ich glaube das ist nur eine temporäre Datei, lösche mal den Inhalt…
Wenn das auch nix hilft, entferne die " " von der Zahl…

geb ich das weg, oder ohne " dann geht gar nichts mehr.
Ich geb das jetzt auf. Ich schreib nicht alle PHP Files jetzt um, weil file_get_contents( ) nicht funktioniert auf dem Webspace.
Trotzdem Danke für die Hilfe