Novo

Forum kao aplikacija na telefonu

Dodajte forum na početni ekran i koristite ga kao aplikaciju, sa menijem na dnu ekrana.

  • 6 odgovora
  • 3.241 pregleda

Najnovija ↓

Generisanje HTML strane preko PHP-a 29.10.2008. u 20:50 · pre 219 meseci #1
Zelim da mi PHP_HTML_Generate.php skripta koju pozovem iz neke php strane generise html stranu koja ce da bude ista kao ta strana sa koje pozovem PHP_HTML_Generate skriptu.

Ali, nesto se tu zbiva sto ne stima. Sta?

TestStrana.php

Code:

<html>
<head>
<title>
NASLOV FAJLA!
</title>
</head>
<body>
OVO JE NEKI SADRZAJ FAJLA!
</body>
</html>
<?php
header("Location: PHP_HTML_Generate.php?PHP_HTML_Generate=".$_SERVER["SCRIPT_NAME"]."?".$_SERVER["QUERY_STRING"]);
?>


PHP_HTML_Generate.php
Code:

<?php
function KreirajHTML($link,$HTML_Fajl)
{
   $DinamickiFajl = @fopen($link,"r");

       $SadrzajFajla= fread($DinamickiFajl,filesize($DinamickiFajl));

   fclose($DinamickiFajl);

   $StatickiFajl = @fopen($HTML_Fajl,"w");
   fwrite($StatickiFajl,$SadrzajFajla);
   fclose($StatickiFajl);
}


    $NastavakNaIme = rand();
    $ImeNovogFajla = $_SERVER["PHP_SELF"]."-HTML-".$NastavakNaIme;

    while (file_exists($ImeNovogFajla))
    {
      $NastavakNaIme = rand();
      $ImeNovogFajla = $_SERVER["PHP_SELF"]."-HTML-".$NastavakNaIme;
    }

            $DolaznaStranica = $_GET["PHP_HTML_Generate"];

            $Odakle = ltrim("$DolaznaStranica","/");

            $Gde ="Fajl-HTML-".$NastavakNaIme;

    echo "<br><br><br><br>$Odakle<br><br><br>$Gde<br><br>";


    KreirajHTML("$Odakle", "$Gde.html");
?>
Potpis

My IT View Of Life-BrLOG-Delphi for PHP


» LinkedIn
Re: Generisanje HTML strane preko PHP-a 29.10.2008. u 21:57 · pre 219 meseci #2
A da objasnis sta ne stima, tj. sta se desi/ne desi?

I jos nesto... prvo, ne bi trebalo da imas ikakvog php koda posle </html> - browser tu zavrsava i ne nastavlja. Drugo, pogledaj
http://www.php.net/header
narocito deo koji pocinje sa "Remember".
Potpis
Kad sve ostalo zakaže, pročitaj uputstvo...
Re: Generisanje HTML strane preko PHP-a 29.10.2008. u 22:10 · pre 219 meseci #3
Ne ucita se sadrzina fajla TestStrana.php i samim tim fajl koji nastane je prazan.

Probao sam i ovako:
Code:

<?php
ob_start();
echo "<html>
<head>
<title>
NASLOV FAJLA!
</title>
</head>
<body>
OVO JE NEKI SADRZAJ FAJLA!
</body>
</html>";
header("Location: PHP_HTML_Generate.php?PHP_HTML_Generate=".$_SERVER["SCRIPT_NAME"]."?".$_SERVER["QUERY_STRING"]);
ob_end_flush();
?>

...isti efekat :(
Potpis

My IT View Of Life-BrLOG-Delphi for PHP


» LinkedIn
Re: Generisanje HTML strane preko PHP-a 29.10.2008. u 23:11 · pre 219 meseci #4
Ajmo ispocetka..
Ako odes na link koji je Jbyn4e rekao imas 4reda od pocetka ovo

Citat:
Remember that header() must be called before any actual output is sent, either by normal HTML tags, blank lines in a file, or from PHP. It is a very common error to read code with include(), or require(), functions, or another file access function, and have spaces or empty lines that are output before header() is called. The same problem exists when using a single PHP/HTML file.

Code:
<html>
<?php
/* This will give an error. Note the output
 * above, which is before the header() call */
header('Location: http://www.example.com/');
?>


Znaci, heder ti ide pre svega, a ne na kraju, a pogotovo ne posle </html> taga
Re: Generisanje HTML strane preko PHP-a 30.10.2008. u 00:12 · pre 219 meseci #5
@askaratazor
Mogao bi i ti malo da bacis pogled na manual za ob_start.
Covek je definitivno procitao sta pise, sto se vidi iz njegovog drugog primera.
Kod mene je po defaultu namesten output_buffering na 4096, sto najverovatnije znaci da njemu problem uopste nije bio u tome.

@Vladica Savic
Kreni sa debagovanjem te skripte.
Idi korak po korak, dampuj jednu po jednu promenjivu i nacices gde je problem.

Potpis
Powered by Slackware 13
Re: Generisanje HTML strane preko PHP-a 30.10.2008. u 08:02 · pre 219 meseci #7
Izbaci header/location i pozovi (include) fajl koji generiše HTML.

Evo ti (nešto kao) pseudo kod pa ti smisli :)

Code:
ob_start();

html/php kod

$rezultat = ob_get_flush(); //ovaj red nije obavezan OVDE ako ga staviš na početak fajla koji se inkluduje ispod

include("moje_funkcije.php");

Kreiraj_HTML($rezultat, "ime_fajla.html"); //ovaj red nije obavezan ako ono što radi funkcija prepraviš tako da radi čim se inkluduje fajl
Potpis
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
Prijavite se da biste odgovorili u ovoj temi.PrijavaRegistracija

Premeštanje teme