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

PHP često postavljana pitanja

[es] :: PHP :: PHP za početnike :: PHP često postavljana pitanja
(Zaključana tema (lock), by Nemanja Avramović) (HARDTOP topic, by flylord)

[ Pregleda: 46230 | Odgovora: 13 ] > FB > Twit

Postavi temu

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

dinke
Dragan Dinić
General Manager / Lampix.net
Beograd

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

Sajt: www.dinke.net


+2 Profil

icon PHP često postavljana pitanja13.02.2005. u 16:32 - pre 181 meseci
PHP FAQ
-----------------------------

U ovoj poruci:

Q: Šta je to PHP
Q: Šta znači skraćenica PHP
Q: Za šta se koristi PHP
Q: Kako da instaliram PHP
Q: U čemu da pišem PHP skripte?


U ostatku teme:

Q: Kako da počnem sa učenjem PHP-a

Q: PHP sam uspešno instalirao, kako da podesim neke od njegovih opcija?

Q: Kako da pročitam podatke iz forme?

Q: Kako da pišem siguran PHP kod?

Q: Kako da sprečim neželjeno ubrizgavanje u SQL upite?

Q: Zašto moja funkcija ne vidi promenljivu koju sam ranije definisao?

Q: Da li mogu da se koriste naša slova (utf-8) u MySQL bazi?

Q: Zašto ne mogu da pošaljem header (postavim cookie, startujem sesiju)?

Q: U čemu je razlika između jednostrukih (') i dvostrukih (") navodnika?

Q: Kako da uploadujem fajl?

Q: Da li izvršenje moje PHP skripta može da se ponavlja u određenim intervalima?

Q: Kako da pošaljem e-pismo iz PHP-a?



Q: Šta je to PHP
A: PHP je veoma popularan interpetatorski programski jezik. Sintaksom je veoma sličan jezicima C, Java i Perl. Najčešće se koristi za izradu veb aplikacija ali to nisu i jedine oblasti njegove primene. Programe u PHP-u zovemo još i skriptovima zato što se ne kompiliraju u neku izvršnu verziju već ih na svaki zahtev izvršava interpetator (sada postoje i klasični kompilatori i transparentni kompilatori sa keširanjem za PHP koji ubrzavaju izvršavanje).

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 sama skraćenica.

Q: Za šta se koristi PHP
A: PHP se uglavom koristi za izradu veb aplikacija koje se izvršavaju na serveru, jer omogućava da na jednostavan način uradite sve što neki CGI program može kao na primer, da obrađujete podatke iz HTML formi, generišete HTML strane dinamički sa podacima iz baze podataka, povezujete se sa drugim veb servisima i sl. Ali to to nije i njegova jedina primena. U PHP-u mogu da se prave:

1) Veb aplikacije
Za razliku od JavaScripta gde se skriptovi izvršavaju na klijentu (unutar veb preglednika), PHP skriptovi se izvršavaju na serveru. Potrebne su vam tri stvari: Veb server (Apache, IIS, ...), preglednik (Firefox, Chrome, Internet Explorer ...) i PHP interpretator. Poput HTML strane, PHP skript (koji može da bude mešavina HTML-a i PHP-a) se postavlja na podešen veb server i poziva se pristupanjem tom skriptu-stranici preko preglednika. Veb server sada poziva PHP interpetator nad traženom stranicom-skriptom i rezultat šalje u preglednik. Da biste se ovim bavili potrebno je da znate HTML jer će vaši PHP programi najčešće slati HTML pregleniku kao rezultat.

2) Aplikacije za komandnu liniju
Ovaj način korišćenja PHP-a je idealan za administrativne zadatke (kopiranje baze, održavanje konfiguracije i sl.), slanje velikog broja e-pisama itd. i drugih zadataka koji mogu i da se automatski izvrše u unapred definisano vreme preko cron (*nix) ili Task Scheduler (Windows) servisa. PHP se izvršava direktno, bez Veb servera i izlaz programa se prikazuje u komadnom prozoru ili program tiho obavlja svoje zadatke. Pogledajte odgovarajuću sekciju u PHP priručniku (engl.) za detaljnije mogućnosti.

3) Klasične aplikacije
PHP omogućava i razvoj klasičnih grafičkih aplikacija sa prozorima, dugmićima i drugim grafičkim kontrolama korišćenjem proširenja PHP-GTK. Za više informacija posetite PHP-GTK sajt.


Q: Kako da instaliram PHP
A:
1) Ukoliko koristite neki Uniksoliki operativni sistem odaberite upustvo iz PHP priručnika za veb server koji koristite. Najčešće se PHP koristi kao modul za Apache veb server. Ako koristite GNU/Linuks sistem vaša distribucija sigurno već ima pripremljene pakete za PHP i Apache u skladištu.

Mac OS X dolazi sa zapakovanim PHP-om, a možete i ručno instalirati noviju verziju. Ako ste pod MS Windows sistemom, PHP možete da instalirate koristeći Microsoft IIS ili Apache veb server. Za MS Windows postoje i gotovi paketi koji instaliraju Apache, PHP, MySQL uz još neke popularne alatke jednom instalacijom. Popularni su XAMPP i WampServer.

2) Da bi Apache veb server pokrenuo PHP interpretator za svaku *.php datoteku potrebno je da podesite httpd.conf (ako već nije podešen instalacijom PHP-a) i definišete AddModule i LoadModule direktive koje će da učitaju PHP modul i direktivu SetHandler koja će da obezbedi pokretanje PHP interpretatora.

3) Isprobajte sve. Pokrenite Apache (naredbom apachectl start, skriptom iz /etc/init.d ili iz programa za kontrolu servisa). Otvorite u pregledniku sajt http://localhost (podrazumevano ime lokalnog računara). Ako je veb server ispravno podešen prikazaće se poruka "It works" jer je to sadržaj index.html datoteke koju Apache podrazumevano smešta u Document root (/usr/local/apache2/htdocs ili /var/www ili negde u C:\Program Files kako ste već podesili Apache). Pored index.html sada dodajte datoteku test.php:

Code:
<?php
phpinfo();
?>


U pregledniku ukucajte http://localhost/test.php. Ako se prikaže gornji kod to znači da veb server radi ali nije pozvan PHP interpetator, a ako dobijete izlaz sa svim podacima o instalaciji PHP-a, instalacija je protekla uspešno. Čestitam :)

4) Pre ili kasnije verovatno ćete poželeti da koristite i pristupate podacima smeštenim u relacionu bazu podataka. MySQL server je čest izbor i dostupan za sve pomenute operativne sisteme. PHP ima podršku i za brojne druge servere relacionih baza podataka.


Q: U čemu da pišem PHP skripte?
A: Pogledajte posebnu temu na ovom forumu.



[Ovu poruku je menjao Goran Rakić dana 24.06.2010. u 17:45 GMT+1]
 
+1

dinke
Dragan Dinić
General Manager / Lampix.net
Beograd

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

Sajt: www.dinke.net


+2 Profil

icon PHP često postavljana pitanja13.02.2005. u 17:28 - pre 181 meseci
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. Odličan vodič je i zvanični PHP Tutorial.

Na domaćem jeziku postoje vodiči, a neki su nabrojani u ovoj zastareloj temi. Za one koji više vole papir, dostupno je nekoliko knjiga kod domaćih izdavača (Mikro knjiga, Kompjuter biblioteka, CET,...).

Na brojnim drugim sajtovima postoje školice PHP-a, dovoljno je ukucati par upita u Google za popularne rezultate. Na sajtu http://talks.php.net postoji kolekcija prezentacija sa PHP konferencija, a svašta se može naći i na slideshare.net.

Kada malo odmakente sa učenjem ne propustite da pročitate PHP vodič za sigurnost, koji postoji i na srpskom: http://phpsec.org/projects/guide/sr/

Ivan Stojmenovic je okačio pregled PHP operatora.

Na kraju jedan depresivan link, tema Naučiš sve i na kraju ne znaš kako da kreneš :)



[Ovu poruku je menjao Goran Rakić dana 21.06.2010. u 23:06 GMT+1]
 
0

dinke
Dragan Dinić
General Manager / Lampix.net
Beograd

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

Sajt: www.dinke.net


+2 Profil

icon PHP FAQ14.02.2005. u 21:21 - pre 181 meseci
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]
 
0

Nemanja Avramović
Software architect
Cloud Horizon
Beograd, Srbija

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

Jabber: Nemanja Avramović
Sajt: avramovic.info


+45 Profil

icon Kako da pročitam podatke iz forme?06.11.2006. u 19:00 - pre 160 meseci
Q: Kako da pročitam podatke iz forme?

A: U svrhu prikupljanja promenljivih, u zavisnosti od toga da li ste koristili POST ili GET metodu, koristi se $_POST odnosno $_GET niz ili $_REQUEST niz, koji je univerzalan i za POST i za GET metodu. Evo primera:

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


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


Ovim primerom smo omogućili da korisnik ubrizga HTML kod u sledeću stranicu, što se zove Cross Site Scripting (XSS). Na primer ako korisnik kao ime upiše "<script>window.alert('Ja sam haker!');</script>" ovaj skript će biti sastavni deo naredne pozdravne stranice. To može biti problem ako onaj ko popunjava formular i vidi pozdravnu stranu nisu iste osobe. Recimo da veb aplikacija koristi kolačiće (engl. cookies) i formular sa prenosom kroz GET. Zli napadač može da pošalje link drugom korisniku preko koga će mu ubrizgavanjem HTML/JavaScript koda ukrasti kolačiće koji su inače tajni. Budite oprezni i nikada ne verujte podacima koji stižu od korisnika.

Dobar podsetnik na moguće probleme je isečak iz knjige Essential PHP Security koju je napisao Chris Shiflett, a koji je dostupan za preuzimanje sa sajta MySQL Developer Zone.


[Ovu poruku je menjao Goran Rakić dana 22.06.2010. u 01:39 GMT+1]
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
0

Nemanja Avramović
Software architect
Cloud Horizon
Beograd, Srbija

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

Jabber: Nemanja Avramović
Sajt: avramovic.info


+45 Profil

icon Zašto moja funkcija ne vidi promenljivu koju sam ranije definisao?06.11.2006. u 19:17 - pre 160 meseci
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;
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
 
0

Nemanja Avramović
Software architect
Cloud Horizon
Beograd, Srbija

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

Jabber: Nemanja Avramović
Sajt: avramovic.info


+45 Profil

icon Da li mogu da se koriste naša slova (utf-8) u MySQL bazi?06.11.2006. u 20:00 - pre 160 meseci
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/obradi 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");


Da postavite i posebnu kolaciju za ređanje i upoređivanje koristite SET NAMES 'charset_name' COLLATE 'collation_name'. Upit SET NAMES 'charset_names' će postaviti podrazumevanu kolaciju za odabrani skup.

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.


[Ovu poruku je menjao Goran Rakić dana 06.10.2010. u 11:38 GMT+1]
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
Prikačeni fajlovi
 
0

Nemanja Avramović
Software architect
Cloud Horizon
Beograd, Srbija

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

Jabber: Nemanja Avramović
Sajt: avramovic.info


+45 Profil

icon Zašto ne mogu da pošaljem header (postavim cookie, startujem sesiju)?06.11.2006. u 20:16 - pre 160 meseci
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.


Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
Prikačeni fajlovi
 
0

flylord
Ilić Aleksandar
Simplicity d.o.o.
Nis/Uzice

Član broj: 2954
Poruke: 3859
*.dynamic.sbb.co.yu.

ICQ: 4849714


+68 Profil

icon U čemu je razlika između jednostrukih (') i dvostrukih (") navodnika?08.11.2006. u 14:09 - pre 160 meseci
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 i zamenjena trenutnom vrednošću.

Dakle, ako imamo kod: echo 'Hello world!'; dvostruki navodnici nisu potrebni, pošto ne koristimo promenljive. print 'Hello $world'; bi ispisalo Hello $world a ne Hello + vrednost promenljive $world. Ako vas mrzi da pišete: echo 'Hello '.$world; onda morate da koristite: echo "Hello $world";. Kada imate puno sastavljanja, dvostruki navodnici su zanemarljivo brži.



[Ovu poruku je menjao Goran Rakić dana 21.06.2010. u 22:55 GMT+1]
 
0

Ivan.Markovic

Član broj: 97763
Poruke: 330

Sajt: security-net.biz


+19 Profil

icon PHP Security Info10.11.2006. u 15:31 - pre 160 meseci
Q: Kako da pišem siguran PHP kod?
A: Pročitajte obavezno PHP vodič za bezbednost na srpskom: http://phpsec.org/projects/guide/sr/

Dobar podsetnik na moguće probleme pri obradi podataka iz HTML formulara je isečak iz knjige Essential PHP Security koju je napisao Chris Shiflett, a koji je dostupan za preuzimanje sa sajta MySQL Developer Zone.

Za zaštitu od ubrizgavanja u SQL upite (engl. SQL Injection) pogledajte posebno pitanje i odgovor.

Postoji i skript koji daje ocenu i komentare na bezbednost PHP okruženja korisna stvarčica. Obezbeđivanjem PHP okruženja nesiguran kod se može obezbediti, ali pravo rešenje je pisanje sigurnog koda bez rupa.



[Ovu poruku je menjao Goran Rakić dana 24.06.2010. u 17:39 GMT+1]
“If you think you are too small to make a difference, try sleeping with a mosquito.” - Dalai Lama
XIV
 
0

Nemanja Avramović
Software architect
Cloud Horizon
Beograd, Srbija

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

Jabber: Nemanja Avramović
Sajt: avramovic.info


+45 Profil

icon Re: PHP FAQ20.11.2006. u 13:07 - pre 160 meseci
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]
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
Prikačeni fajlovi
 
0

Nemanja Avramović
Software architect
Cloud Horizon
Beograd, Srbija

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

Jabber: Nemanja Avramović
Sajt: avramovic.info


+45 Profil

icon Da li izvršenje moje PHP skripta može da se ponavlja u određenim intervalima?20.04.2007. u 10:33 - pre 155 meseci
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. Ovako pokrenuta skripta pokreće se nezavisno od veb servera, a izlaz uglavnom bude isporučen kao e-pismo ili zapisan negde u nekoj log datoteci.

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.

Ako vaš pružalac hostinga ima cPanel softver za administraciju onda je ovo vrlo lako uraditi uz pomoć opcije Cron Job. U protivnom pitajte tehničku podršku kako da postavite cron job pod Linuks hostingom.



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.


[Ovu poruku je menjao Goran Rakić dana 12.06.2010. u 22:32 GMT+1]
Laravel Srbija.

[NE PRUŽAM PODRŠKU ZA PHP PREKO PRIVATNIH PORUKA!]
Prikačeni fajlovi
 
0

skinflint81
Jelica Jovanovic
Beograd

Član broj: 157199
Poruke: 8
*.dynamic.sbb.rs.



+1 Profil

icon Re: Treba mi skripta ... Ako neko ima?14.01.2010. u 16:05 - pre 121 meseci
PHP osnove:
http://rti.etf.bg.ac.rs/rti/os4ip/P5.pdf

Citat:

deki2free:
Odlicna skripta na srpskom, jedini problem je malo starija (2004.).

Hvala skinflintu!


[Ovu poruku je menjao Goran Rakić dana 21.09.2010. u 10:37 GMT+1]
 
+1

Goran Rakić
Beograd

Moderator
Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Kako da sprečim neželjeno ubrizgavanje u SQL upite?12.06.2010. u 21:46 - pre 117 meseci
Q: Kako da sprečim neželjeno ubrizgavanje u SQL upite?

A: Kada radite sa SQL upitima u kojima se dopisuju i vrednosti nekih promenljivih (naročito ako je to ulaz od korisnika) obavezno se zaštitite od neželjenog ubrizgavanja (SQL Injection). Ako ne zaštitite kod napadač može da vam obori sajt, pokrade podatke, izmeni ili obriše sadržaj baze podataka.

Pogledajte korisnu prezentaciju sa primerima http://www.slideshare.net/bill...-injection-myths-and-fallacies i pročitajte više u Vodiču za sigurno programiranje: http://phpsec.org/projects/guide/sr/3.html#3.2



Na ovom forumu, pogledajte temu Kako mogu da isprobam može li se desiti SQL injection, sta da upišem u formi?.



[Ovu poruku je menjao Goran Rakić dana 24.06.2010. u 17:40 GMT+1]
http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
0

Goran Rakić
Beograd

Moderator
Član broj: 999
Poruke: 3766

Sajt: blog.goranrakic.com


+125 Profil

icon Re: PHP često postavljana pitanja24.06.2010. u 01:56 - pre 116 meseci

Q: Kako da pošaljem e-pismo iz PHP-a?

A: PHP ima ugrađenu funkciju za slanje e-pošte, mail()
Code (php):

$to      = '[email protected]';
$subject = 'the subject';
$message = 'hello world';
$headers = 'From: [email protected];
mail($to, $subject, $message, $headers);


Ova funkcija koristi sendmail (standardni program pod Unix sistemima, različiti softverski paketi nude svoju verziju sendmail programa) ili SMTP server konfigurisan u konfiguracionoj datoteci php.ini. Morate konfigurisati PHP da bi mail() funkcija radila ispravno na vašem računaru.

Dostupne su PHP biblioteke koje nude istu funkcionalnost sa više fleksibilnosti. Biblioteke uglavnom nude i slanje e-pisama sa prilogom i raznu drugu funkcionalnost koja sa ugrađenom mail() funkcijom mora ručno da se implementira slaganjem sadržaja i zaglavlja poruke.

Popularne biblioteke su Swift Mailer, PEAR::Mail, Zend_Mail.

Svi oni mogu da šalju e-poštu različitim transportnim mehanizmima, preko lokalnog servera, preko SMTP servera vašeg naloga za e-poštu (na primer Gmail), i na druge načine nezavisno od konfiguracije mail() funkcije na serveru. Da bi ovo radilo server mora da omogući uspostavljanje konekcije sa spoljnim svetom, nešto što većina besplatnih PHP hostinga ne dozvoljava zbog sigurnosti. Proverite phpinfo() i da li je funkcija fsockopen() podržana.

Pogledati: http://www.elitesecurity.org/t286585-0#1714638


http://sr.libreoffice.org — slobodan kancelarijski paket, obrada teksta, tablice,
prezentacije, legalno bez troškova licenciranja
 
0

[es] :: PHP :: PHP za početnike :: PHP često postavljana pitanja
(Zaključana tema (lock), by Nemanja Avramović) (HARDTOP topic, by flylord)

[ Pregleda: 46230 | Odgovora: 13 ] > FB > Twit

Postavi temu

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