Stranice: [1]   Idi dole
  Štampaj  
Autor Tema: chmod i output_buffering  (Pročitano 3227 puta)
goran33
Gost
« poslato: Sreda, 16. Oktobar 2002. 17:39:10 »

Nekoliko puta sam imao priliku da vidim uputstvo tipa, postavi direktorijum da bude chmod 777 i sl. Kako se to konkretno radi, potrebno mi je za prikaz slika... tj, kako se neki fajl setuje da bude chmod 777?

------------------------------------------------------------------

Da li postoji ikakva mogucnost slanja header-a ako je u php.ini fajlu output_buffering setovan na Off? Kao sto je npr. na veratu...


Hvala
Sačuvana
akubra
Gost
« Odgovor #1 poslato: Petak, 18. Oktobar 2002. 19:49:38 »

Ne moze fajl ili direktorijum biti chmod 777, nego svaki fajl ili direktorijum ima prava pristupa ('permissions') ciji mod moze da bude 777, 755 itd, a chmod je komanda kojom se permissions menjaju.
To se moze uraditi iz shell-a:

[bash]$ chmod 0777 /neki/file

ili iz PHP-a:

chmod("/neki/file", 0777);

Pogledaj man chmod, info chmod ili za PHP http://www.php.net/manual/en/function.chmod.php

-------------------------------------------------

Moguce je, a za kontrolu output buffering-a koriste se output control funkcije http://www.php.net/manual/en/ref.outcontrol.php
Sačuvana
goran33
Gost
« Odgovor #2 poslato: Četvrtak, 24. Oktobar 2002. 23:04:31 »

Na zalost nikako ne mogu da uradim ovo da valja. Svaki put mi javlja da ne moze da posalje header, jer ga je vec poslao (verovatno funkcijom echo).
A kada uradim ovako kao u primeru sto cu dati, ne prikazuje mi sliku nego binarni kod (kuke i motike).



<HTML><HEAD>
<title>Detalji</title>
</HEAD>



<?php

$connection = mysql_connect("localhost", "dfg", "godfghdf");
$db = mysql_select_db("baza", $connection);

$sql=mysql_query("SELECT * FROM objekat WHERE id=$id"); $row=mysql_fetch_array($sql);
$vrsta=$row["vrsta"]; $adresa=$row["adresa"]; $grad=$row["grad"];  
?>

<tr>
       
  <td bgcolor="#6699FF"><font size="2" face="Arial"> </font></td>
      </tr>
      <tr>
        <td bgcolor="#DDEAFF"><font size="2" face="Arial"> <font color="#666666">Vrsta
          objekta:</font>
          <? echo $vrsta; ?>
          </font></td>
      </tr>
      <tr>
        <td bgcolor="#DDEAFF"><font size="2" face="Arial"> <font color="#666666">Adresa:</font>
          <? echo $adresa; ?>
          </font></td>
      </tr>
      <tr>
        <td bgcolor="#DDEAFF"><font size="2" face="Arial"> <font color="#666666">Grad:
          </font>
          <? echo $grad; ?>
          </font></td>
      </tr>
     
   
<?

// kada ovo stavim da bude poseban file (uz povezivanje sa bazom ne koristeci include), slika se pokazuje sasvim normalno... A cim ima ovo prethodno napisano, nista ne radi! Pomagajte!

       $query = "select src, filetype from slike where id=$id";
       $result = @MYSQL_QUERY($query);
   
       $izlaz = @MYSQL_RESULT($result,0,"src");
       $tip = @MYSQL_RESULT($result,0,"filetype");
       Header( "Content-type: $tip");
       echo $izlaz;
       flush();
     
?>

</BODY>
</HTML>
Sačuvana
akubra
Gost
« Odgovor #3 poslato: Petak, 25. Oktobar 2002. 11:38:02 »

Nije to samo zbog echo, nego zbog i zbog onog silnog html-a ispred header(), ustvari pre headera ne smes da imas nikakav output (cak ni prazan red).

Ovo sto ti hoces ustvari nema veze sa output bufferingom, nego:

Citat
// kada ovo stavim da bude poseban file (uz povezivanje sa bazom ne koristeci include), slika se pokazuje sasvim normalno


Pa to i treba da bude poseban file, bas kao sto je html strana jedan, a slika poseban file.

Da bi prikazao sliku u okviru HTML-a moras da imas <img> tag, u ovom slucaju stavi <img> i da je src te slike ovaj tvoj php script koji prikazuje sliku. Znaci moras da imas dva fajla:

u jedan file stavi ceo onaj PHP/HTML (bez dela za sliku naravno), i stavi u njega <img src="script.php">

a script.php je poseban fajl koji sadrzi samo kod za prikaz slike
Sačuvana
goran33
Gost
« Odgovor #4 poslato: Petak, 25. Oktobar 2002. 14:24:55 »

Radi! Hvala...
Sačuvana
isulic
Gost
« Odgovor #5 poslato: Četvrtak, 16. Januar 2003. 12:45:44 »

Citat: goran33
Radi! Hvala...


Mala digresija :
Cak i svaki prazni redu u *.php ili *.htm stranicama nedaje mogucnost ponovnog slanja zaglavlja... /licno imo 'male' muke  cheesy ). Po meni, najbolje je u okviru PHP-a odraditi slanje zaglavlja pa tek onda sve ostalo.... Tako. C U L8R !!!
Sačuvana
Stranice: [1]   Idi gore
  Štampaj  
 
Prebaci se na:  

?>