27-01-2011, 02:09
No tak, ale jak już pisałem wcześniej z funkcją ob_start(); też ten sam błąd chyba że coś źle robie, ja to wstawaim tak:
A i jeszcze dodam że plik index.php pobiera dane do wyświetlenia z pliku dane.php
Kod PHP:
<div id="kontener">
<center><!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="pl" xml:lang="pl">
<head>
<title>Galeria</title>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<link rel="stylesheet" href="/style.css" type="text/css" media="all"/>
<style type="text/css">
<!--
.styl4 {
font-size: 18px;
font-style: italic;
font-weight: bold;
}
.styl12 {font-size: 12px}
.styl13 {font-size: 12px; font-style: italic; font-weight: bold; }
-->
a.link1 {color:#fff;}
a.link1:hover {color:#999999;}
</style>
<body>
<div id="logo"> Astrofotografia Amatroska </div>
<ul id="menu">
<li><a href="/kontakt.php" class="link1">Kontakt</a></li>
<li><a href="/obs/index.php" class="link1">Obserwatorium</a></li>
<li><a href="index.php" class="link1">Galeria</a></li>
<li><a href="/sprzet.php" class="link1">Sprzęt</a></li>
<li><a href="/index.php" class="link1">O mnie</a></li>
</ul>
<div id="text">
<table id="News" width="903" height="355" border="10">
<tr>
<th height="150"><p align="center"><font color="#FFFFFF">
<?php
ob_start();
$admpass='demo';
$phpintpl=false;
$fileext='.html';
$rssfile='rss.xml';
$upfolde='images';
$locpath=dirname(__FILE__).'/';//okresla lokalna sciezka
$srvname=$_SERVER['SERVER_NAME'];//okresla nazwe serwera
$dirpath=substr($_SERVER['SCRIPT_NAME'],0,-9);//okresla sciezke na serwerze
if(!file_exists($locpath.'.htaccess')||filesize($locpath.'.htaccess')==0)//sprawdza plik .htaccess
crht();//jesli nie istnieje to proba tworzenia
if(!file_exists($locpath.'data.php')||filesize($locpath.'data.php')==0){//sprawdza plik data.php
crdp();//jesli nie istnieje to proba tworzenia
header('Location: http://'.$srvname.$dirpath.'?adm');//i przejscie na sekcje admin
die;
}
if(!isset($_GET['adm'])){//nie ma wejscia do sekcji admin
$basenametemp=basename($_SERVER['REQUEST_URI']);
switch($basenametemp){//sprawdza czy wywolany jeden ze specjalnych plikow
case $rssfile:
if($rssfile!=''){showrss();die;}//czy tworzony rss
break;
case 'robots.txt':
srbts();die;
case 'sitemap.xml':
ssmap();die;
}
if($dirpath!=$_SERVER['REQUEST_URI']){//czy wywolana jest podstrona(sciezka glowna+plik)
$requri=basename(substr($_SERVER['REQUEST_URI'],0,strpos($_SERVER['REQUEST_URI'],$fileext)));//okresla nazwe podstrony z koncowka
if($requri==''||$requri=='index'){//jesli nie znaleziono koncowki lub podstrona to index
header('HTTP/1.1 301 Moved Permanently');//i przejscie na strone glowna
header('Location: http://'.$srvname.$dirpath);
die;
}
}else{//jesli strona glowna
$requri='index';
}
include_once($locpath.'data.php');
if(!isset($metatitle[$requri])){//brak danych o wywolywanej podstronie z koncowka fileext
header('HTTP/1.1 301 Moved Permanently');//zatem przejscie na glowna
header('Location: http://'.$srvname.$dirpath);
die;
}
foreach($metatitle as $t1 => $t2){//tworzy linki do poszczegolnych podstron
if($t1!='index'){
$tpllinks.="<li><a href=\"$t1$fileext\">$t2</a></li>\r\n";
}else{//jesli glowna to link niech prowadzi do domeny zamiast do index
$tpllinks.="<li><a href=\"http://$srvname$dirpath\">$t2</a></li>\r\n";
}
}
$tplfile=str_replace('{LINKS}',$tpllinks,$tplfile);//zmiana tagu {LINKS} na liste podstron
if($rssfile!='')//jesli tworzy kanal RSS: odpowiedni wpis w sekcji head
$tplfile=str_replace('</head>',"<link href=\"$rssfile\" type=\"application/rss+xml\" rel=\"alternate\" title=\"RSS\" />\r\n</head>",$tplfile);
if($phpintpl)eval('?>'.$tplfile); else echo $tplfile;//druk gotowej strony
//SEKCJA ADMINISTRACYJNA
}else{//proba wejscia do sekcji admin
session_start();
echo'<html><head><meta http-equiv="Content-Type" content="text/html; charset=utf-8"><meta name="robots" content="noindex,nofollow"></head><body><form method="POST" action="?adm">';
if(isset($_GET['logout'])&&$_SESSION['admin']=='ok'){//jesli wylogowanie
unset($_SESSION['admin']);
echo'Wylogowano!<br>';
}
if($_SESSION['admin']!='ok'){//jesli w sesji nie zapisano info o zalogowaniu do admin
if($_POST['pswd']!=$admpass){//sprawdza czy przesylane haslo
//nie jest wiec wyswietla formularz log. i koniec
echo'<input type="password" name="pswd"><input type="submit" value="Log"></form></body></html>';
die;
}else{//haslo sie zgadza wiec zapis w sesji info o tym i przejscie dalej
$_SESSION['admin']='ok';
}
}
if(isset($_POST['a'])){//jesli wysylane info o edycji artow
$p_text="<?php\r\n\$sidebar='".fixslash($_POST['p_sidebar'])."';\r\n\$footer='".fixslash($_POST['p_footer'])."';\r\n";
for($i=1;$i<21;++$i){//petla zbiera dane o poszczegolnych artach
if($_POST['p_title'.$i]!=''){
if($i==1)//jesli strona glowna to URL=index
$fixedurl='index';
elseif($_POST['p_url'.$i]=='')//jesli brak przeslanego URL-a przez usera: tworzy z tytulu
$fixedurl=createurl($_POST['p_title'.$i]);
else//user podal URL wiec zapis
$fixedurl=$_POST['p_url'.$i];
$p_text.="\$metatitle['$fixedurl']='".fixslash($_POST['p_title'.$i])."';\r\n\$metadesc['$fixedurl']='".fixslash($_POST['p_desc'.$i])."';\r\n\$conth1['$fixedurl']='".fixslash($_POST['p_conth1'.$i])."';\r\n\$conth2['$fixedurl']='".fixslash($_POST['p_conth2'.$i])."';\r\n\$contmain['$fixedurl']='".fixslash($_POST['p_contmain'.$i])."';\r\n";//zbiera dane o arcie do zapisu pliku data.php
}
}
$p_text.='?>';
$fp=fopen($locpath.'data.php','w');
fwrite($fp,$p_text);
fclose($fp);
echo'OK - <a href="http://pingomatic.com/ping/?title='.urlencode($_POST['p_title1']).'&blogurl='.urlencode('http://'.$srvname.$dirpath).((isset($rssfile))?'&rssurl='.urlencode('http://'.$srvname.$dirpath.$rssfile):'').'&chk_technorati=on&chk_feedburner=on&chk_google=on" target="_blank" rel="nofollow">Dodaj do Google</a><br>';
}
if(isset($_POST['u'])){
$pl_tmp=$_FILES['plk']['tmp_name'];
$pl_name=$_FILES['plk']['name'];
if(is_uploaded_file($pl_tmp)){
move_uploaded_file($pl_tmp,"$upfolde/$pl_name");
echo"OK - plik: http://$srvname$dirpath$upfolde/$pl_name<br>";
}
}
include_once($locpath.'data.php');
echo'<a href="http://'.$srvname.$dirpath.'" target="_blank" rel="nofollow">Glowna</a> | <a href="?adm&logout">Wylogowanie</a><br><table></textarea></td></tr>';
$i=1;
foreach($metatitle as $t1 => $t2){
echo"<tr><th>Tytuł:</th><td><input name=\"p_title$i\" value=\"".htmlspecialchars($metatitle[$t1])."\" style=\"width:502px\"></td></tr>";
if($i!=1)echo"<tr><th>URL $i *:</th><td><input name=\"p_url$i\" value=\"".htmlspecialchars($t1)."\" style=\"width:502px\"></td></tr>";
echo"<tr><th>Treść:</th><td><textarea name=\"p_contmain$i\" cols=\"60\" rows=\"12\">{$contmain[$t1]}</textarea></td></tr>";
echo'<tr><td colspan="2"><hr></td></tr>';
++$i;
}
echo'<tr><td colspan="2" style="text-align:right">*-opcjonalnie <input type="hidden" name="a" value="o"><input type="submit"></td><tr/></table></form><hr><form enctype="multipart/form-data" method="POST" action="?adm">Plik: <input name="plk" type="file"> <input type="hidden" name="u" value="o"><input type="submit"></form></body></html>';
echo '
<hr noshade="noshade" />
<p></p>
<font color="yellow">Jak edytujemy podstrone</font>
<p>Wprowadzmy dane lub je edytujemy według już wpisanego przykładu,<p>
<p>jeśli chcemy umieścić zdjęcie.</p>
<p>Wybieramy plik i dodajemy zdjęcie następnie klikamy wyslij na górze pojawi się </p>
<p>nam link do zdjęcia wstawiamy go w oba miejsca tzn. "scieżka do pełnego obrazka"</p>
<p>Jeśli chcemy dodać nasepne zdjęcia powtarzmy kod:</p>
<p><a href="scieżka do pełnego obrazka"><img src="scieżka do<p>
<p>pełnego obrazka" height="200" width="150"><p>
<hr noshade="noshade" />
<center><h3><font color="yellow">Podstawowe funkcje HTML:</font><h3></center>
<p><h1>rozmiar czcionki największy to h1 zmieniać można aż do h6(najmniejszy)</h1></p>
<p><p>Akapit</p></p>
<p> <br>Przenosi kod do nowej lini</br> </p>
<p><b><b>pogrubienie tekstu</b></b></p>
<p>
<i><i>pochylenie tekstu</i></i> </p>
<p><u><u>podkreslenie tekstu</u></u></p>
<p><s> <s> przekreśłenie tekstu</s> </s> </p>
<p><font color="red"><font color="red"> Tekst będzie czerwony </font></font> </p>
<p><font face="Arial"><font face="arial> Tekst będzie napisany w czcionce Arial</font> </font></p>
<p><a href="adres internetowy"> <a href="link do strony www"> opis odsyłacza </a></a> -odsyłacz do strony internetowej </p>
<p><center> tekst będzie wyśrodkowany </center></p>
<p><p aling="left"> tekst wyrównany do lewej </p> </p>
<p><p aling="right"> tekst wyrównany do prawej <p></p>
<p><img dynsrc="scieżka do pliku .avi start="sposób"/> wstawienie pliku video avi np. z youtube.pl, gdzie jako sposób podaje się: "fileopen" - plik będzie odtwarzany po wczytaniu strony,
"mouseover" - plik będzie odtwarzany po wskazaniu myszką </p>
<bgsound src="ścieżka dostępu do pliku dźwiękowego" />
<bgsound src="sciezka do pliku dzwiękowego"/> tło dzwiękowe ';
}
die;
function showrss(){
global $locpath,$srvname,$dirpath,$fileext;
include_once($locpath.'data.php');
$datemodif=date(DATE_RFC822,filemtime($locpath.'data.php'));
header('Content-Type: text/xml');
echo"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<rss version=\"2.0\">\r\n <channel>\r\n";
echo" <title>{$metatitle['index']}</title>\r\n";
echo" <link>http://$srvname$dirpath</link>\r\n";
echo" <description>{$metatitle['index']} - kanał RSS</description>\r\n";
echo" <lastBuildDate>$datemodif</lastBuildDate>\r\n";
foreach($metatitle as $t1 => $t2){
echo" <item>\r\n <title>$t2</title>\r\n";
echo" <link>http://$srvname$dirpath".(($t1!='index') ? $t1.$fileext: '')."</link>\r\n";
echo" <description>$t2 - {$metadesc[$t1]}</description>\r\n";
echo" </item>\r\n";
}
echo" </channel>\r\n</rss>";
}
function srbts(){//wyswietla robots.txt
global $srvname,$dirpath;
header('Content-Type: text/plain');
echo"Sitemap: http://$srvname$dirpath"."sitemap.xml
User-agent: *
Disallow: ";
}
function ssmap(){//wyswietla plik sitemap
global $locpath,$srvname,$dirpath,$fileext;
include_once($locpath.'data.php');
$datemodif=date('Y-m-d',filemtime($locpath.'data.php'));//ustala date ostatniej modyfikacji pliku data.php
header('Content-Type: text/xml');
echo"<?xml version=\"1.0\" encoding=\"UTF-8\"?>\r\n<urlset xmlns=\"http://www.sitemaps.org/schemas/sitemap/0.9\">\r\n";
foreach($metatitle as $t1 => $t2){//petla po kolejnych artykulach
echo" <url>\r\n";
echo" <loc>http://$srvname$dirpath".(($t1!='index') ? $t1.$fileext: '')."</loc>\r\n";
echo" <lastmod>$datemodif</lastmod>\r\n";
echo" </url>\r\n";
}
echo'</urlset>';
}
function crht(){//tworzy .htaccess
global $locpath,$srvname,$dirpath;
$htdata="RewriteEngine On
RewriteBase $dirpath
RewriteCond %{HTTP_HOST} ^".(substr($srvname,0,4)=='www.' ? str_replace('www.','',$srvname):"www.$srvname")." [NC]
RewriteRule ^(.*)$ http://$srvname%{REQUEST_URI} [R=301,L]
RewriteCond %{REQUEST_FILENAME} !-f
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule . $dirpath"."index.php [L]
";
$fp=fopen($locpath.'.htaccess','w');
fwrite($fp,$htdata);
fclose($fp);
}
function crdp(){
global $locpath,$srvname,$dirpath;
$dataphp="<?php
\$metatitle['index']='Title';
\$metadesc['index']='Description';
\$conth1['index']='H1 title';
\$conth2['index']='H2 title';
\$contmain['index']='Content';
?>";
$fp=fopen($locpath.'data.php','w');
fwrite($fp,$dataphp);
fclose($fp);
}
function fixslash($str){//jak stripslashes, ale bez zmiany '
$str=str_replace('\\"','"',$str);
$str=str_replace('\\\\','\\',$str);
return $str;
}
function hex2asc($str){//zrodlo: http://www.php.net/hexdec#54002
$p='';
for($i=0;$i<strlen($str);$i=$i+2)
$p.=chr(hexdec(substr($str, $i, 2)));
return $p;
}
function createurl($title){//tworzy URLe bez smieci
$url=str_replace(' ','-',$title);
$utfchars=array(hex2asc("C484"),hex2asc("C485"),hex2asc("C486"),hex2asc("C487"),hex2asc("C498"),hex2asc("C499"),hex2asc("C581"),hex2asc("C582"),hex2asc("C583"),hex2asc("C584"),hex2asc("C393"),hex2asc("C3B3"),hex2asc("C59A"),hex2asc("C59B"),hex2asc("C5BB"),hex2asc("C5BC"),hex2asc("C5B9"),hex2asc("C5BA"));
$normchars=array('a','a','c','c','e','e','l','l','n','n','o','o','s','s','z','z','z','z');
$url=str_replace($utfchars,$normchars,$url);//usuwa ogonki
$url=strtolower(preg_replace('|[^a-z0-9-_.;,]|i','',$url));//usuwa niestandardowe znaki i zmienia na male litery
return $url;
}
ob_end_flush();
?>
</font>
</p>
</tr>
</table>
<p> </p>
</div>
<center><div id="pasek">
<img src="/pasek.gif" width="900" />
</div></center>
<div id="stop">
<div id="mod24">Powered by <a href="http://www.minigal.dk" target="_blank" rel="nofollow"><font color="#FFFFFF">MG2</font></a></div> <div id="AA">Astrofotografia Amatorska</div>
<div id="data"><?php echo date('d.m.Y', filemtime($_SERVER['SCRIPT_FILENAME'])); ?></div>
</div>
</div>
</body>
A i jeszcze dodam że plik index.php pobiera dane do wyświetlenia z pliku dane.php