Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

PHP FAQ

[es] :: PHP :: PHP FAQ
(Zaključana tema (lock), by Nemanja Avramović) (HARDTOP topic, by flylord)

[ Pregleda: 15941 | Odgovora: 19 ]

Postavi temu

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

dinke
Dragan Dinić
General Manager / Lampix.net
Kragujevac

Član broj: 933
Poruke: 1001
*.kg.sbb.co.yu.

ICQ: 119594081
Sajt: www.dinke.net


Profil

icon PHP FAQ13.02.2005. u 16:32

PHP FAQ
-----------------------------

Q: Šta je to PHP ?
A: PHP je veoma popularan scripting jezik. Sintaksom je veoma sličan jezicima C, Java i Perl. Najčešće se koristi za server side scripting ali to nisu i jedine oblasti njegove primene.

Q: Šta znači skraćenica PHP:
A: PHP predstavlja rekurzivnu skraćenicu za "PHP: Hypertext Preprocessor". Ovo je takozvana rekurzivna skraćenica jer je prva reč skraćenice takođe skraćenica.

Q: Za šta se koristi PHP
A: PHP se uglavom koristi za server side scripting, jer omogućava da na jednostavan način uradite sve što neki CGI program može kao na primer, da obrađujete podatke sa html formi, generišete html strane dinamički i sl. Ali to to nije i njegova jedina primena.

Postoje tri oblasti gde se PHP scriptovi mogu koristiti:

1) Server-side scripting.
Ovo je ujedno oblast gde se PHP najčešće primenjuje. Za razliku od JavaScript-a gde se scriptovi izvršavaju na klijentu (browseru), server side scriptovi se izvršavaju na serveru. Potrebne su vam tri stvari: Web server (Apache, IIS, ...), browser (Internet Explorer, Mozilla ...) i PHP parser. Poput html strane, vas php script (koji moze biti mesavina html-a i php-a) postavite na Web server i izvrsavate ga pristupanjem scriptu preko browsera.

2) Command line scripting.
Ovaj način korišćenja PHP-a je idealan za administrativne zadatke (backup baze, reload konfiguracije i sl), slanje velikog broja mailova itd. koji se setuju tako da se scriptovi izvršavaju u unapred definisano vreme preko cron (*nix) ili Task Scheduler (Windows) servisa. Pogledajte odgovarajuću sekciju u php manualu za vise informacija.

3) Desktop Aplikacije
PHP omogućava i razvoj standalone GUI aplikacija korišćenjem PHP-GTK ektenzije. Za više informacija posetite PHP-GTK sajt.


Q: Kako da instaliram PHP na *nix-u
A: Odaberite upustvo iz php manuala za Web server koji koristite na http://www.php.net/manual/en/install.unix.php. Najlakše vam je da instalirate PHP kao apache module.

Sledi kompletno upustvo za Apache 1.3.x i php na nacin koji preferira autor ovog teksta.

1) Downloadujte poslednju 1.3.x verziju apache Web servera npr:
wget -c http://mirror.etf.bg.ac.yu/apache/httpd/apache_1.3.33.tar.gz

2) Downloadujte poslednju verziju php-a sa www.php.net npr za php4:
wget -c http://www.php.net/get/php-4.3.10.tar.bz2/from/yu.php.net/mirror

3) Premestite oba fajla (apache_1.3.33.tar.gz i php-4.3.10.tar.bz2) u /usr/src npr: mv apache_1.3.33.tar.gz php-4.3.10.tar.bz2 /usr/src
4) instalacija apache-a
Code:
cd /usr/src
tar -xzvf apache_1.3.33.tar.gz
cd apache_1.3.33
./configure --prefix=/usr/local/apache --enable-module=so
make
make install

5) Instalacija PHP-a sa podrskom za mysql (mysql mora biti vec instaliran):
Code:
cd /usr/src
tar -xjvf php-4.3.10.tar.bz2
cd php-4.3.10
./configure --with-apxs=/usr/local/apache/bin/apxs --with-mysql=/usr/
make
make install
cp php.ini-dist /usr/local/lib/php.ini


6) Podesavanje apache-a
Izmenite httpd.conf fajl (u gornjoj instalaciji /usr/local/apache/conf/httpd.conf) i dodajte sledece:

U LoadModule sekciji:

(Ako instalirate PHP4)
Code:
LoadModule php4_module libexec/libphp4.so


(Ako instalirate PHP5)
Code:
LoadModule php5_module libexec/libphp5.so


U AddModule sekciji:
(Ako instalirate PHP4)
Code:
AddModule mod_php4.c


(Ako instalirate PHP5)
Code:
AddModule mod_php5.c


U AddType sekciji dodajte sledecu liniju:
Code:
AddType application/x-httpd-php .php 


7) Startujte apache: /usr/local/apache/bin/apachectl start

8) Kreirajte test.php fajl:
Code:
<?php
phpinfo();
?>


i snimite ga u doc root (/usr/local/apache/htdocs).
9) Startujte browser i ukucajte http://localhost/test.php. Ako dobijete izlaz sa svim podacima o instalaciji php-a, vasa instalacija je protekla uspešno. Čestitam :)


Q: Kako da instaliram PHP na Windowsu
A: Pratite upustvo za vaš Web server na odgovarajućoj strani PHP manuala

Q: Postoji li neki lakši način za instalaciju ?
A: Postoji. Možete iskoristiti PHP Triad ili xampp ili phpdev (kompletno uputstvo za phpdev se nalazi ovde) ili wamp ili neki drugi sličan package koji će vam automatski kroz tipičan Windows instaler instalirati tipično PHP okruženje (Apache, PHP, MySQL, phpmyadmin). Ovo je idealno za početnike dok iskusnijim korisnicima apsolutno preporučujem da instalaciju obave manuelno na način koji je to opisano u PHP Manualu.


[Ovu poruku je menjao flylord dana 06.11.2006. u 19:36 GMT+1]
13.02.2005. u 16:32 

dinke
Dragan Dinić
General Manager / Lampix.net
Kragujevac

Član broj: 933
Poruke: 1001
*.kg.sbb.co.yu.

ICQ: 119594081
Sajt: www.dinke.net


Profil

icon PHP FAQ13.02.2005. u 17:28
Q: Kako da počnem sa učenjem PHP-a
A: Ako ste već programirali u nekim programskim jezicima poput C-a ili Jave na primer, sve što vam je potrebno da bi ste počeli sa učenjem PHP-a je PHP Manual. PHP Manual dostupan je Online na http://www.php.net/manual/en/index.php, a ljudima koji nemaju stalnu vezu sa Internetom preporučujem da downloaduju neki od dostupnih formata za offline čitanje. Naročito koristan zbog lako dostupnog indexa i searcha je chm format koji dolazi u osnovnom obliku, a tu je i extended varijanta koja pored ostalog sadrži i komentare korisnika koji nisu dostupni u osnovnom chm manualu. Za korisnike *nix-a za pregled chm manuala preporučujem xchm.

Iako manual praktično polazi od samih osnova, pojedinim početnicima u programiranju kao i ljudima koji ne poznaju dovoljno engleski jezik, može biti teško da uče iz njega. Takvima preporučujem brojne tutorijale na našem jeziku. Za one koji preferiraju papir, dostupno je nekoliko knjiga na srpskom jeziku.

[Ovu poruku je menjao dinke dana 21.03.2005. u 16:55 GMT+1]
13.02.2005. u 17:28 

dinke
Dragan Dinić
General Manager / Lampix.net
Kragujevac

Član broj: 933
Poruke: 1001
*.kg.sbb.co.yu.

ICQ: 119594081
Sajt: www.dinke.net


Profil

icon PHP FAQ14.02.2005. u 21:21
Q: PHP sam uspešno instalirao, kako da podesim neke od njegovih opcija ?
A: PHP sva svoja podešavanja čuva u fajlu php.ini. U zavisnosti od načina na koji ste PHP instalirali, php.ini može biti smešten na različitim mestima. Na windowsu je to najčešće C:\Windows dir, dok je kod Linuxa /usr/local/lib/php.ini.

Promene vrednosti za neku od brojnih php podešavanja najčešće ćete raditi tako što to podešavanje promenite u fajlu php.ini. Na primer, ako želite da setujete PHP direktivu display_error na ON kako bi ste uključili prikaz svih grešaka jednostavno editujte php.ini fajl pomoću nekog tekst editora, i promenite tu opciju. Ako je php instaliran kao server modul (što je i najčešće slučaj), onda imajte u vidu da morate restartovati vaš Web server kako bi nova konfiguracija bila učitana. Za detaljan opis svih opcija prisutnih u php.ini fajlu konsultujte odgovarajuću sekciju PHP Manuala.

Pored globalnih podešavanja koja vršite u fajlu php.ini, ako je php instaliran kao apache modul, podešavanja možete obaviti u apache conf fajlu, bilo na globalnom nivou sa httpd.conf fajlom, bilo sa .htaccess fajlom (ako je odgovarajuća opcija allow_override uključena za dir u kome se nalazi .htaccess fajl). Ovo je naročito zgodno za Linux administratore, jer na ovaj način određenim virtual hostovima možete dodeliti različita podešavanja PHP-a. Pogledajte odgovarajuću sekciju PHP Manuala za više informacija.

Pojedina podešavanja PHP-a možete raditi i "runtime" tokom izvršavanja scripta, koristeći ini_set f-ju. Spisak svih direktiva koje možete promeniti sa ini_set f-jom dostupan je ovde.

[Ovu poruku je menjao dinke dana 21.03.2005. u 16:56 GMT+1]
14.02.2005. u 21:21 

dinke
Dragan Dinić
General Manager / Lampix.net
Kragujevac

Član broj: 933
Poruke: 1001
*.kg.sbb.co.yu.

ICQ: 119594081
Sajt: www.dinke.net


Profil

icon PHP FAQ14.02.2005. u 21:37
Q: Kako da vidim verziju php-a koji je instaliran, uključene ektenzije, podešavanja i slično
A: Vrlo jednostavno, koristite phpinfo f-ju na sledeći način.

1) Kreirajte sledeći php script:
Code:
<?php
  phpinfo();
?>
i snimite ga kao recimo phpinfo.php na primer u document root

2) Učitajte script u browser sa recimo http://localhost/phpinfo.php

Ovaj script će generisati gomilu informacija vezanu za php i okruženje na kome je on instaliran, kao na primer configure script koji je korišćen prilikom kompajliranja, uključene direktive, ekstenzije, verziju Web servera na kome se izvršava i slično. Za više informacija pogledajte dokumentaciju o phpinfo f-ji u manualu.
14.02.2005. u 21:37 

Aleksandar Marković
Part Time Freelance Journalist

Član broj: 219
Poruke: 5231
*.smin.sezampro.yu.

Sajt: www.akcenat.info


Profil

icon Re: PHP FAQ19.05.2006. u 23:00
http://talks.php.net/ - php u PowerPoint prezentacijama ..jednostavno i slikovito
19.05.2006. u 23:00 

Aleksandar Marković
Part Time Freelance Journalist

Član broj: 219
Poruke: 5231
*.smin.sezampro.yu.

Sajt: www.akcenat.info


Profil

icon PHP FAQ - password hashing29.05.2006. u 21:00
http://phpsec.org/articles/2005/password-hashing.html
29.05.2006. u 21:00 

Aleksandar Marković
Part Time Freelance Journalist

Član broj: 219
Poruke: 5231
*.smin.sezampro.yu.

Sajt: www.akcenat.info


Profil

icon Re: PHP FAQ - Five common PHP database problems And how to avoid them06.08.2006. u 17:06
http://www-128.ibm.com/develop.../?ca=dgr-lnxw97Avoid5PHPerrors
06.08.2006. u 17:06 

zoran
021

Član broj: 426
Poruke: 2666
*.225.eunet.yu.

Sajt: www.fanzo.org


Profil

icon Re: PHP FAQ30.08.2006. u 02:57
Nije baš usko povezano sa temom radi se o CHMOD 777 ( CHMOD777 ) nekom će još ovo biti potrebno , možda neko sad plače kako da reši ovo. Uglavnom nisam hteo da otvaram novu temu pošto ovo nije pitanje nego odgovor , a ako ova poruka bude usamljena u temi ima šanse da bude obrisana kao i još neke stare teme. Onaj ko bude ovo tražio čim vidi shvatiće da je pronašao. Nailazio sam na raznorazne odgovore u vezi ovog i nijedan nije bio tačan.
Omogućavanje dozvole upisa spolja u fajlove na web serveru. Hmm valjda sam se dobro izrazio.

Naime sa Komanderom ( Total Commander ) FTP klijent pristupiti na web server , otvoriti direktorijum , pronaći željeni fajl i obeležiti ga ( da pocrveni) , u komanderu otvoriti Files/Change attributes... iskočiće prozorče u kojem su radio dugmići za podešavanje pristupa fajlu. Kombinacijom dugmića podesiti željenu opciju chmod koda , koji će biti i prikazan u prozorčetu . Ma biće već sve jasno kad se otvori prozorče , problem je eto kako doći do podešavanja ove opcije kad zatreba nekom ko nikad nije imao kontakta sa ovim stvarima , a u suštini je sve veoma jednostavno.

Molim moderatore da ovo ne obrišu , ako treba neka preformulišu , možda još neke ključne reči
"od akvarijuma možemo napraviti riblju čorbu, ali..."
30.08.2006. u 02:57 

XTeam
Nenad Bulatović
Limit Line Technologies
Novi Sad

Član broj: 10525
Poruke: 250
*.biz.

Sajt: www.web-hosting.co.yu


Profil

icon Re: PHP FAQ03.09.2006. u 06:16
Kad se već spominje FTP Klijent, mislim da su sledeći odlična rešenja:

(free su oba)

FileZilla http://filezilla.sourceforge.net/
WinSCP http://winscp.net/eng/index.php

Sa njima ćete lako podići sve vaše fajlove na server i obratno.

P.S. chmod , da ne kažem privilegije, su zavisne od servera. Sa 777 treba biti pažljiv jer daje sve privilegije svim korisnicima.
03.09.2006. u 06:16 

Aleksandar Marković
Part Time Freelance Journalist

Član broj: 219
Poruke: 5231
*.adsl.sezampro.yu.

Sajt: www.akcenat.info


Profil

icon Re: PHP FAQ15.10.2006. u 18:22
PHP Tutorial: http://trailfire.com/bonlebon/marks/16688
15.10.2006. u 18:22 

Aleksandar Marković
Part Time Freelance Journalist

Član broj: 219
Poruke: 5231
213.240.54.*

Sajt: www.akcenat.info


Profil

icon Re: PHP FAQ - Kratak kurs PHP-a na srpskom - PDF Dokumenat24.10.2006. u 13:12
PDF - LINK 1 341 Kb

PDF - LINK 2 361 Kb

[Ovu poruku je menjao Aleksandar Marković dana 24.10.2006. u 14:46 GMT+1]
24.10.2006. u 13:12 

Nemanja Avramović
PHP developer, Webinsane
Mladenovac, Srbija

Moderator
Član broj: 32202
Poruke: 3769
212.200.145.*

ICQ: 266136396
Sajt: www.avramovic.info


Profil

icon Zašto PHP neće da prihvati promenljive iz forme?06.11.2006. u 19:00
Q: Zašto PHP neće da prihvati promenljive iz forme?
A: Zato što je najverovatnije isključena opcija register_globals odnosno mogućnost da PHP sam pokupi prosleđene promenljive. U svrhu prikupljanja promenljivih, u zavisnosti od toga da li ste koristili POST ili GET metodu, od sada morate koristiti $_POST odnosno $_GET niz ili $_REQUEST niz, koji je univerzalan i za POST i za GET metodu.

Evo primera kako preuzeti promenljive iz forme kada je direktiva register_globals isključena:

strana1.php
Code:
<form action='strana2.php' method='post'>
<input type='text' name='ime' value='Unesite vase ime ovde' /><br />
<input type='text' name='prezime' value='Unesite vase prezime ovde' /><br />
<input type='submit' value='Submit' />
</form>


strana2.php
Code:
<?php
$ime = $_POST['ime'];
$prezime = $_POST['prezime'];
echo "Dobrodosli, $ime $prezime";
?>


Možete (u većini slučajeva), naravno i sami uključiti register_globals direktivu, ali to nije poželjno, zato što se sa uključivanjem ove direktive povećava nesigurnost vaše web aplikacije. Ako je web aplikacija loše napisana, napadač lako može samo uz pomoć browsera preuzeti kontrolu nad sajtom. Pogledajte primere autorizacije korisnika na sledećem linku pa će vam biti jasnije o čemu pričam:

http://php.net/register_globals
Moj sajt. Moj blog. Moj avatar. Moj grad. Moja frizura.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
06.11.2006. u 19:00 

Nemanja Avramović
PHP developer, Webinsane
Mladenovac, Srbija

Moderator
Član broj: 32202
Poruke: 3769
212.200.145.*

ICQ: 266136396
Sajt: www.avramovic.info


Profil

icon Zašto moja funkcija ne vidi promenljivu koju sam ranije definisao?06.11.2006. u 19:17
Q: Zašto moja funkcija ne vidi promenljivu koju sam ranije definisao?
A: Da biste ranije definisanu promenljivu koristili u svojoj funkciji, morate reći funkciji da koristi globalnu promenljivu koju ste ranije definisali direktivom global, koju ćete postaviti odmah ispod definicije funkcije. Evo primera:

pdv.php
Code:
<?php
$pdv = 18;

function cena_sa_pdvom($cena) {
    global $pdv;
    $novacena = $cena + (($cena / 100) * $pdv);
    return $novacena;
}

echo cena_sa_pdvom(100);
?>


Uočite red global $pdv; - taj red govori funkciji da može da koristi prethodno definisanu promenljivu $pdv, a promenljivu $pdv smo definisali u prvom redu naše skripte. Posle direktive global možete dodati koliko god hoćete promenljivih, samo ih odvojte zarezima (,) - npr. global $a, $b, $c;
Moj sajt. Moj blog. Moj avatar. Moj grad. Moja frizura.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
06.11.2006. u 19:17 

Nemanja Avramović
PHP developer, Webinsane
Mladenovac, Srbija

Moderator
Član broj: 32202
Poruke: 3769
212.200.145.*

ICQ: 266136396
Sajt: www.avramovic.info


Profil

icon Da li moja PHP skripta može da se izvršava s vremena na vreme?06.11.2006. u 19:30
Q: Da li izvršenje moje PHP skripta može da se ponavlja u određenim intervalima?
A: Sam PHP nije u mogućnosti da se pokrene tek tako, ali postoji unix opcija "cron job" ili na windowsu "task scheduler" koja može na tačno određene intervale da poziva vašu skriptu. Ako nemate pristup ovoj opciji na vašem sajtu, možete koristiti online servise koji nude tu opciju, kao što je npr. WebCron. Samo se prijavite, odredite interval na koji se poziva vaša skripta i URL do skripte i taj sajt će automatski pozivati skriptu kad treba.
Moj sajt. Moj blog. Moj avatar. Moj grad. Moja frizura.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
06.11.2006. u 19:30 

Nemanja Avramović
PHP developer, Webinsane
Mladenovac, Srbija

Moderator
Član broj: 32202
Poruke: 3769
212.200.145.*

ICQ: 266136396
Sajt: www.avramovic.info


Profil

icon Da li mogu da se koriste naša slova (utf-8) u MySQL bazi?06.11.2006. u 20:00
Q: Da li mogu da se koriste naša slova (utf-8) u MySQL bazi?
A: Da, a evo i kako. Pre svega, potrebno je:

1) da podesite encoding baze na utf-8
2) da podesite encoding svih stranica koje će se koristiti pri upisu/ispisu/obrati podataka na utf-8

Da biste podesili encoding baze na utf-8, pri kreiranju baze postavite collation na utf8_unicode_ci. Sledeći SQL upit to može da odradi za vas:

Code:
CREATE DATABASE `test` DEFAULT CHARACTER SET utf8 COLLATE utf8_unicode_ci;


U ovako napravljenoj bazi sva tekstualna polja će imati definisan encoding na unicode (utf-8).

Da biste podesili encoding stranice na utf-8, ubacite sledeći PHP kod na sam početak stranice (pre bilo kakvog outputa browseru):

Code:
header("Content-Type: text/html; charset=UTF-8");


Takođe, ubacite i sledeći META TAG:

Code:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />


Ako i ovo ne pomogne, odmah posle konekcije na MySQL server i biranja baze ubacite sledeći kod:

Code:
mysql_query("SET NAMES utf8");
mysql_query("SET CHARACTER SET utf8");
mysql_query("SET COLLATION_CONNECTION='utf8_general_ci'");


Kada na ove načine i serveru i browseru kažete da koristi UTF-8, moći ćete bez problema da koristite naša slova u bazi.
Da biste lakše razumeli ovo, u prilogu ostavljam jedan mali projekat koji podržava naša slova.
Moj sajt. Moj blog. Moj avatar. Moj grad. Moja frizura.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
Prikačeni fajlovi
06.11.2006. u 20:00 

Nemanja Avramović
PHP developer, Webinsane
Mladenovac, Srbija

Moderator
Član broj: 32202
Poruke: 3769
212.200.145.*

ICQ: 266136396
Sajt: www.avramovic.info


Profil

icon Zašto ne mogu da pošaljem header (postavim cookie, startujem sesiju)?06.11.2006. u 20:16
Q: Zašto ne mogu da pošaljem header (postavim cookie, startujem sesiju)?
A: Cookie (setcookie) i pokretanje sesije (session_start) spadaju u header funkcije koje moraju biti poslate na samom početku PHP skripte, pre bilo kakvog koda poslatog browseru korisnika. Evo nekih primera:

dobro:
Code:
<?php
header("Content-Type: text/html; charset=UTF-8");

echo "Tekst sa našim slovima"; 
?>


loše:
Code:
<?php
echo "<h1>Naslov</h1>";

header("Content-Type: text/html; charset=UTF-8");
?>


loše:
Code:
<html>
<head>
<title>Naslov</title>
</head>
<body>
<?php
header("Content-Type: text/html; charset=UTF-8");
?>
</body>
</html>


Kao što se vidi u prethodnim primerima, header se šalje pre bilo čega drugog!!!

Ako vam PHP javlja grešku čak iako ste header poslali pre bilo čega drugog, onda problem najverovatnije pravi BOM signature koji se javlja najčešće kada se koristi UTF-8 enkoding na stranici. To je skup od nekoliko nevidljivih karaktera koji se smeštaju na sam početak fajla tako da se u stvari prvo BOM pošalje browseru pa zato header funkcije neće da rade. Da biste se rešili ovog problema otvorite vaš PHP fajl u nekom tekst editoru koji prikazuje sadržaj celog fajla, na primer stari DOS edit.com editor (ima ga i u Windowsu XP u Windows\System32 folderu) i ako vidite neke čudne karaktere na samom početku vašeg PHP fajla, nešto kao na slici ispod - našli ste uljeza. Jednostavno obrišite tih par karaktera i sačuvajte fajl i header funkcije će opet raditi.


Moj sajt. Moj blog. Moj avatar. Moj grad. Moja frizura.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
Prikačeni fajlovi
06.11.2006. u 20:16 

flylord
Ilić Aleksandar
Freedomia (direktor)
Nis/Uzice

Tehnički konsultant
Član broj: 2954
Poruke: 3393
*.dynamic.sbb.co.yu.

Jabber: flylord@elitesecurity.org
ICQ: 4849714
Sajt: blog.itseminar.org


Profil

icon U čemu je razlika između jednostrukih (') i dvostrukih (") navodnika?08.11.2006. u 14:09
Q: U čemu je razlika između jednostrukih (') i dvostrukih (") navodnika?

A: Mnogi ljudi koriste jednostruke i dvostruke navodnike tek tako, ali razlika postoji: Svaka promenljiva između jednostrukih navodnika biće ignorisana, dok će promenljive između dvostrukih navodnika biti obrađena.
Dakle, ako imamo kod: echo 'Hello world!'; dvostruki navodnici nisu potrebni, pošto ne koristimo promenljive. U stvari, dupli navodnici bi usporili parsiranje stringa (ok, u ovom slučaju je to minimalno, ali opet, sve se računa ;))
Ako vas mrzi da pišete: echo 'Hello '.$world; onda morate da koristite: echo "Hello $world";
print 'Hello $world'; bi ispisalo Hello $world a ne Hello + vrednost promenljive $world

edit: Nemanja Avramović: Prevod na srpski + styling.

[Ovu poruku je menjao Nemanja Avramović dana 10.11.2006. u 10:15 GMT+1]
08.11.2006. u 14:09 

Aleksandar Marković
Part Time Freelance Journalist

Član broj: 219
Poruke: 5231
213.240.54.*

Sajt: www.akcenat.info


Profil

icon Re: PHP FAQ - Vodič za PHP bezbednost (PHP Security Guide) na srpskom10.11.2006. u 12:42
Vodič za PHP bezbednost (PHP Security Guide) na srpskom: http://phpsec.org/projects/guide/sr/

http://php.com.hr/

[Ovu poruku je menjao Aleksandar Marković dana 15.11.2006. u 11:34 GMT+1]
10.11.2006. u 12:42 

Nemanja Avramović
PHP developer, Webinsane
Mladenovac, Srbija

Moderator
Član broj: 32202
Poruke: 3769
212.200.145.*

ICQ: 266136396
Sajt: www.avramovic.info


Profil

icon Re: PHP FAQ20.11.2006. u 13:07
Q: Kako da uploadujem fajl?
A: Upload fajla je prilično lak koristeći PHP (ako je server lepo podešen, a većina njih jeste). Za korisnički deo se koristi standardno file polje formulara dok se sa programerske (PHP) strane koristi $_FILES niz i par funkcija vezanih za upload fajlova.

PRIMER:

index.html
Code:
<!-- enctype mora biti multipart form data, metod mora biti POST -->
<form enctype="multipart/form-data" action="upload.php" method="POST">
    <!-- MAX_FILE_SIZE mora biti pre FILE polja, i ovo ne radi na svim browserima -->
    <input type="hidden" name="MAX_FILE_SIZE" value="30000" />
    <!-- ime input file polja će biti key u $_FILES nizu -->
    Fajl: <input name="userfile" type="file" />
    <input type="submit" value="Send File" />
</form>


upload.php
Code:
<?php
//određujemo folder
$uploaddir = './uploads/';
//formiramo celu putanju novg fajla
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);

echo '<pre>';
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $uploadfile)) {
   echo "Fajl je uspešno uploadovan.\n";
} else {
   echo "Greška pri uploadu!\n";
}

echo 'Informacije o upload-u:';
print_r($_FILES);

print "</pre>";
?> 


Da biste uploadovali više fajlova, možete koristiti više input file polja pa im pristupati sa $_FILES['fajl1'], $_FILES['fajl2'], ... ili možete dinamički (preko JavaScripta) napraviti da se klikom na link dodaje još polja a da sva input file polja imaju ime, recimo, nizfajlova[] ([] na kraju označava da je u pitanju niz) pa onda u PHP-u pristupati fajlovima preko višedimenzionalnog niza $_FILES.

Hint:
Code:
foreach ($_FILES['nizfajlova'] as $fajl) {
...
}


Posle ovoga ćete u svakoj iteraciji ove petlje imati niz $fajl i onda možete koristiti $fajl['name'], $fajl['type'], $fajl['size'], ... i tako dalje, kao što imate objašnjeno na stranici http://www.php.net/features.file-upload


Takođe, bitno je napomenuti da, ako vam je sajt na *nix hostingu, folder gde uploadujete fajlove (u ovom slučaju "uploads") mora imati chmod 777 (ili neki drugi koji dozvoljava pisanje svima u folder).


U prilogu je PDF gde je lepo objašnjeno kako (NE) treba upload-ovati datoteke, gde ih smeštati, kako i zašto, kao i neka praktična rešenja o bezbednosti.
Ima stvari koje će zanimati i naprednije korisnike.
(hvala mVeliki)

[Ovu poruku je menjao Nemanja Avramović dana 23.07.2007. u 15:57 GMT+1]
Moj sajt. Moj blog. Moj avatar. Moj grad. Moja frizura.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
Prikačeni fajlovi
20.11.2006. u 13:07 

Nemanja Avramović
PHP developer, Webinsane
Mladenovac, Srbija

Moderator
Član broj: 32202
Poruke: 3769
77.46.247.*

ICQ: 266136396
Sajt: www.avramovic.info


Profil

icon Kako namestiti skriptu da se periodično izvršava nezavisno od korisnika20.04.2007. u 10:33
U poslednjih nekoliko dana dosta korisnika je pitalo kako postaviti skriptu da se s vremena na vreme sama izvršava nezavisno od posetilaca. Rešenje koje sam ja pronašao i koje radi se odnosi samo na cPanel softver i na Linux operativne sisteme. Ako imate cPanel onda je ovo vrlo lako uraditi uz pomoć opcije Cron Job:



Ovde možemo birati između standardnog i naprednog načina podešavanja cron-a. Pošto ne poznajemo Linux sisteme toliko (barem ja ne poznajem), biramo opciju "Standard":



U ovom, poslednjem delu postavki Cron Job-a potrebno je podesiti vreme na koje će se komanda izvršavati i iznad toga upisati Linux komandu. Ovo za vreme je očigledno i mislim da tu ne treba mnogo toga objašnjavati, valjda je očigledno da je na slici ispod namešteno da se komanda izvršava na svakih 30 minuta:



E sad na red dolazi ono najkomplikovanije: Komanda koja će se izvršavati na izabrani vremenski interval. Tu ima više opcija, a kod mene na serveru je radila jedino ova, a to je:

Code:
php -q /home/USER/public_html/script/reset.php > /dev/null


Pa da pojasnimo:
php - pozivamo PHP interpreter
-q - Ovo govori PHP interpreteru da ne šalje 'Content-type: text/html' koji inače šalje po defaultu.
/home/USER/public_html/script/reset.php - apsolutna putanja do skripte koja se poziva (sa phpinfo(); možete videti vašu putanju)
> - "pošalji izlaz na"
/dev/null - /dev/null je u prevodu "ništa" u Linux sistemima, odnosno želimo da se izlaz PHP skripte odbaci

Alternative pozivanju direktno PHPa su korišćenje nekog od tekstualnih browsera u Linuxu ako ih vaš server poseduje ili wget-a, a komande bi bile:

Code:
lynx http://www.vassajt.com/script/reset.php > /dev/null

ili
Code:
links http://www.vassajt.com/script/reset.php > /dev/null

ili
Code:
wget http://www.vassajt.com/script/reset.php > /dev/null


Probajte sve ove komande, bar jedna bi trebalo da radi.
Moj sajt. Moj blog. Moj avatar. Moj grad. Moja frizura.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
Prikačeni fajlovi
20.04.2007. u 10:33 

[es] :: PHP :: PHP FAQ
(Zaključana tema (lock), by Nemanja Avramović) (HARDTOP topic, by flylord)

[ Pregleda: 15941 | Odgovora: 19 ]

Postavi temu

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.