Kako Recite Gdje Vaši posjetitelji su Zemljopisno Koristeći PHP

Posted in kruška, php by ShortLikeAFox na 13. rujna 2008

Ako imate web stranicu i želite reći gdje Vaši korisnici dolaze iz zemljopisno PHP i PEAR čine ovo moguće. Za uključivanje gost IP u fizičkoj lokaciji prvih stvari koje ćete morati učiniti je da provjerite da li ste u Net_Geo PEAR modula. Ako nemate Net_Geo PEAR modula, koje ćete morati koristiti PEAR Package Manager steći ga.

Ako ne mislite da imate pristup PEAR zbog Vašeg hosting paketa, check out this objašnjenje o tome kako instalirati PEAR na računu koji ne dopušta pristup po defaultu. Pisano je s GoDaddy dijeljenih računa na umu, ali trebao bi raditi za većinu hosting pakete koji ne dolaze s PEAR postavljen.

Nakon što ste Net_Geo paket instaliran, to traje samo nekoliko redaka kôda za sticanje geografski podaci:

<? php

); require_once ( "Neto / Geo.php");
]; $ ip = $ _SERVER [ 'REMOTE_ADDR'];
/ / $ ip = "64.246.30.37";
$ firstNetGeo = new Net_Geo ();
geoData $ = $ firstNetGeo-> getRecord ($ ip);

?>

($ip); ?> <br/> IP: <? Php echo ($ ip);?> <br/>
($geoData[ 'LAT' ]); ?> <br/> Latitude: <? Php echo ($ geoData [ 'LAT']);?> <br/>
($geoData[ 'LONG' ]); ?> Longitude: <? Php echo ($ geoData [ 'LONG']);?>
<br/>
($geoData[ 'COUNTRY' ]); ?> <br/> Država: <? Php echo ($ geoData [ 'Country']);?> <br/>
($geoData[ 'STATE' ]); ?> <br/> Država: <? Php echo ($ geoData [ 'state']);?> <br/>
($geoData[ 'CITY' ]); ?> <br/> Grad: <? Php echo ($ geoData [ 'CITY']);?> <br/>

Kodeks na radu:

IP: 66.249.85.132

Latitude: -25,00

Longitude: 135,00

Država: AU

Država:

Grad:

Kako Uključi funkcioniranju PHP kôd u Vaš WordPress Postovi

Posted in WordPress, php by ShortLikeAFox na 17 kolovoz, 2008

Zato vas želim biti u mogućnosti koristiti PHP u vaš WordPress blog postova i stranica. To je bez problema. Jednostavno korištenje <? Php ... ... ..?> Ce napraviti WordPress ljutiti ako ne instalirate dodatak prvi. Postoji nekoliko plugins tamo koji tvrde da nude ovu sposobnost, no onaj koji sam našla djela najbolje je Exec-PHP. Da biste počeli koristiti PHP kod, slijedite ove korake:

  1. Preuzmite Exec-PHP
  2. Ga instalirati kao da bi bilo koji dodatak (Ovaj link gore i obavijesna datoteka će Vas provesti kroz ovo)
  3. Ako trenutno koristite ga, morate isključiti WYSIWYG editor. Da biste to učinili, idite na Korisnici -> Vaš Profil i isključite potvrdni okvir Use vizualnog editora prilikom pisanja kućicu
  4. Započni pisanju php koda kao što ste Vi u pravilu bi: <? Php .... Koda ide ovdje?>

To je sve što je na njega!

Kako stvoriti i koristiti Dinamički Naimenovan varijabli sa PHP

Posted in PHP by ShortLikeAFox na 17 kolovoz, 2008

Dakle želite koristiti dinamičku varijablu imena u svoj kod. Nema problema. Recimo imate 100 varijabli zove dog0, dog1, dog2 ...., Dog98, dog99. Zašto biste željeli koristiti 100 varijabli poput ove umjesto niz je iza mene, ali to nije pitanje za ovaj primjer. Da biste postavili ovih varijabli u brzi petlja mogli koristiti sljedeće:

0 ; $i < 100 ; $i ++ ){ for ($ i = 0; $ i <100; $ i + +) (

; $ variableName = "pas $ I";
$ $ $ variableName = i; / / postavlja dog1 za $ 1, $ dog2 do 2, $ psa 34 - 34, itd ....

)

Sada recimo da su htjeli pristupiti svih tih varijabli. Mogli biste koristiti sljedeće:

0 ; $i < 100 ; $i ++ ){ for ($ i = 0; $ i <100; $ i + +) (

; $ variableName = "$ I pas";
echo ( "<br/>");
echo ( "$ variableName:");
echo ($ $ variableName);

)

Ova petlja ispisuje:

dog0: 0
dog1: 1
dog2: 2
dog3: 3
dog4: 4
dog5: 5
dog6: 6
dog7: 7
dog8: 8

itd ..., sve do
dog99: 99

Kako Intergrate ISBN pristup na svoje web stranice koristeći PHP

Posted in PHP by ShortLikeAFox na 12 kolovoz, 2008

ISBN ili International Standard Book Brojevi su korisni identifikatore koji se mogu koristiti da biste pronašli informacije o pojedinim knjigama. Ako želite integrirati ISBN lookups u vašem web aplikacije PHP čini izvodljiv.

Step One: ISBNdb.com je stvorio jedan API koji omogućava korisnicima iz cijeloga svijeta na pristup svojoj web baza ISBN evidencija. Ovdje je vlastiti opis API:

ISBNdb.com 's udaljenim pristupom sučelje za programiranje aplikacija (API) je osmišljen kako bi se dozvolilo drugim web lokacijama i samostalne aplikacije koriste ogromne prikupljanje podataka prikupljenih ISBNdb.com od 2003. Kao ovoga pisanja, u srpnju 2005, podaci su gotovo 1800000 knjiga; gotovo milijun 3000000 library records; blizu milijun predmeta; stotine tisuća autora i izdavača iz evidencije raščlaniti biblioteka podataka; više od 10000000 evidencije o stvarnim i povijesne cijenama.

Da biste koristili ovu API morate prvo registrirati. Registracija traje doslovno sekunda. Nakon toga, morate postaviti tipku. Tipke vam omogućiti da izravno pristupiti bazama podataka ISBN iz vlastitog koda. The website ISBNdb.com omogućuje podešavanje tipkama lako.

Korak dva: Sada ste započeli pisanje koda za interakciju s bazom podataka. Zahtjev za ISBN lookup će izgledati otprilike ovako:

$ isbnData = "http://isbndb.com/api/books.xml?access_key=XXXXXX&index1=isbn&value1 = $ isbnQuery";

Željeli biste da ubacite vaš pristup ključem u mjestu xxxxxx. $ IsbnQuery bi ISBN broj vas zanima $ isbnData je XML datoteka. Da biste pristupili ovim podacima morate pustiti svoj kôd znam što je to koje se bave. Nešto kao što je ovaj će raditi:

) ; $ xmlData = @ simplexml_load_file ($ isbnData) ili die ( "ne učita datoteka");

Sada možete pristupiti varijabli s individualnim pozivima slična ovoj:

]->Title ; $ naslov = $ xmData-> BookList [0] -> BookData [0] -> Naslov;

Ovdje je kompletan radni primjer:

<? php

$ Searchquery = "9780684801223"; / / ISBN-a za Ernest Hemingway Starac i more
$ isbnData = "http://isbndb.com/api/books.xml?access_key=XXXXXX&index1=isbn&value1 = $ Searchquery"; / / Sjetite se zamijeniti s xxxxxx svoj vlastiti pristup ključem
) ; $ xmlData = @ simplexml_load_file ($ isbnData) ili die ( "ne učita datoteka");
]->Title ; $ naslov = $ xmlData-> BookList [0] -> BookData [0] -> Naslov;
]->AuthorsText ; autori $ = $ xmlData-> BookList [0] -> BookData [0] -> AuthorsText;
]->PublisherText ; $ = $ nakladnika xmlData-> BookList [0] -> BookData [0] -> PublisherText;

); echo ( "$ naslov <br/>");
); echo ( "$ autori <br/>");
); echo ( "$ nakladnika <br/>");

/ / Ovaj primjer ispisuje:
/ / Starac i more
/ / Ernest Hemingway
/ / New York: Scribner Paperback Fiction, 1995.

?>

Kako se ručno Umetni grupu korisnika u SMF forum Koristeći PHP

Posted in SMF (Simple Machine Forum), PHP by ShortLikeAFox na 30. srpnja 2008

Tutorial To pretpostavlja da su upoznati s mojim post: kako se ručno Umetni Korisničke u SMF Forum Koristeći PHP.

Nedavno sam suočena s izazovom kreće 800 ili tako bendova iz baze podataka u SMF forum. Ja suočio par problema prilikom premještanje da nisam pokriće u prvom post:

  1. Bend imena nisu jamstvo da će vam biti sigurno za znak po znak kretati u SMF database. Dakle nekakav naziv mijenjanja funkcije morali biti zaposleni.
  2. The bands nemate lozinke. Tako neki tip lozinka naraštaj mora biti zaposlen.

Koraci sam o da se registruju sve ove bendove na forumu ode malo ovako:

Otvorite Band Database

za svaku (Band) (

Generirajte Lozinka

Preimenuj Band sa "sigurnom" ime

Grab generirajte i informacije potrebne za umetanje korisnik

Umetni Band u smf_members

Band Pošalji poruku e-pošte s lozinku

)

Informacije sam imao na raspolaganju bazu podataka iz benda koji je bio koristan uključeno: bandName, bandEmail i bandWebsite

Ovdje je funkcija generiranje zaporke sam koristio (blatently preuzet iz totallyphp.co.uk):

createRandomPassword function () (

znakova $ = "abcdefghijkmnopqrstuvwxyz023456789";

() * 1000000); srand ((double) microtime () * 1000000);

$ i = 0;

$ pass = ";



dok ($ i <= 7) (

33; $ num = Rand ()% 33;

$ tmp = substr ($ znakova, $ num, 1);

$ pass = $ pass. $ tmp;

$ i + +;

)

povratak $ pass;

)

Lozinka stvorio ovdje je relativno slab, ali je dovoljno dobar za moje potrebe. Bilo koja funkcija generiranje zaporke bi raditi fino ovdje. Sam izabrao ovaj neki, jer bi se lako za članove zapamtiti ako su izabrali da ne promijenite.

Kako ćete to učiniti:

/ / First spojiti na bazu benda
$ username = "bandUsername";
$ host = "bandHost";
MojaLozinka $ = "bandPassword";
$ db_name = "bandDatabase";

("cannot connect to server"); mysql_connect ( "host $", "$ username", "$ MojaLozinka") ili umrijeti ( "ne može spojiti na poslužitelj");
("cannot select DB"); mysql_select_db ( "$ db_name") ili die ( "ne mogu odabrati DB");

/ / Sada zgrabite sve od bendova iz baze podataka
$ query = "SELECT * FROM allBands";
$ bendova = mysql_query ($ query) or Die ( "Config 2222b Greška");
$ userRows = mysql_num_rows ($ bendova);

/ / Sada omogućuje spajanje na SMF db
$ host = "smfhost"; / / host name
$ username = "smfuser; / / mysql username
MojaLozinka $ = "smfpassword"; / / mysql password
$ db_name = "smfdatabase"; / / Database ime

("cannot connect to server"); mysql_connect ( "host $", "$ username", "$ MojaLozinka") ili umrijeti ( "ne može spojiti na poslužitelj");
("cannot select DB"); mysql_select_db ( "$ db_name") ili die ( "ne mogu odabrati DB");

/ / $ vaild_chars će biti niz znakova Dozvoljeno za korisnička imena. Sam odlučio dopustiti samo slova i brojeve. Postoje i druge znakove koji bi se mogla koristiti da ne bi uzrok problema, ali za stil razloga sam odlučio poći sa samo slova i brojeve
$ valid_chars = "abcdefghijklmnopqrstu vwxyz 0 1 2 3 4 5 6 7 8 9";
$ valid_chars = eksplodirati ( "", valid_chars $);

/ / Sada trebamo petlju kroz svaki bend

){ for ($ i = 0; $ i <$ userRows; $ i + +) (

($bands)){ if ($ row = mysql_fetch_assoc ($ bendova)) (

/ / Izvuci benda informacije
extract ($ row);
/ / Create a password za bend
$ realPassword = createRandomPassword ();
/ / Echo sam odabrati da se bandname i lozinku kao dio moje debugging i tako da mogu vidjeti kako to radi funkcija
echo ( "$ <br/> bandName - $ realPassword");
newBand $ = "";
/ / Za svako slovo u imenu benda ćemo gledati da vidim ako odgovara važećim znakom od $ valid_chars. On to ne ćemo odstraniti ga i izrežite band name
($bandName); $j ++ ){ for ($ j = 0; $ j <strlen ($ bandName); $ j + +) (

($band[$j])); $ temp = str_replace ($ valid_chars, "X", strtolower ($ band [$ j]));
if ($ temp == "X")

newBand $ = $ newBand. bend $ [$ j];

)
/ / Echo sam novo ime za istog razloga sam odjek starih ime i lozinku
echo ( "- $ newBand");
/ / Mi smo novi band name .... Počnimo sada buliding informacije su nam potrebne za umetanje u db ...
memberName $ = $ newBand;
realname $ = $ newBand; / / set sam pravi naziv i član istog imena. The bands mogu promijeniti ako žele
emailAddress $ = $ bandEmail;
websiteUrl $ = $ bandWebsite; / / Od Imam bendova 'kao i web stranice mogu upisati ih
websiteTitle $ = $ newBand;
$ is_activated = 1;
$ID_POST_GROUP = 4;
($memberName).$realPassword); //Password must be encrypted $ password = sha1 (strtolower ($ memberName). $ realPassword); / / Zaporka mora biti šifriran

/ / Pobrinite njihovu nije član s istim imenom u SMF database. Ne želimo ući itko slučajno dva puta
$ query = "SELECT * FROM smf_members GDJE memberName = '$ memberName'";
("Config Error 2222343242b"); $ rezultat = mysql_query ($ query) or Die ( "Config 2222343242b Greška");
$ nrows = mysql_num_rows ($ rezultat);

/ / Ako je član ime je pronađeno ništa
if ($ nrows> 0) ()

else (

/ / Ako korisnik nije već prijavio za forume, učinite to i poslati e-mail ....
$ query = "INSERT NA smf_members (memberName, realname, emailAddress, is_activated, ID_POST_GROUP, passwd, websiteUrl, websiteTitle) vrijednosti ( '$ memberName', '$ realname', '$ emailAddress',' $ is_activated ',' $ ID_POST_GROUP ' , '$ password', '$ websiteUrl', '$ websiteTitle') ";

("Config Error 2232 "); $ rezultat = mysql_query ($ query) or Die ( "Config Error 2232");

/ / Sada nam je potrebna za slanje e-pošte grupe
$ to = $ emailAddress;
$ subject = "Vaše korisničko ime i lozinku forum";

/ / Od
$ header = "od: Me <me@mysite.com>";

/ / Vaša poruka
$ poruka .= "Vaše korisničko ime i zaporka su navedene u nastavku. možete promijeniti bilo kada, bilo u. Ako ne želite sudjelovati u našim forumima, to je bez problema. Samo ne prijavite i da će ikada biti kao ništa dogodilo . \ r \ n ";
$ poruka .= "Korisničko ime: Lozinka memberName $: $ realPassword \ r \ n";

/ / Slanje poruka e-pošte
$ poslanapošta = mail ($ to, $ subject, $ poruka, $ header);
if ($ poslanapošta)

echo ( "- Da!");
/ / Ovo je zadnji dio našeg odjek. The "-DA!" samo će se tiskati ako se šalje e-poštu. Tako potpuni ispis linija izgledati će otprilike ovako:
/ / Adam svađu - 4s6vsxag - AdamStrife - DA!

)

)
)

Kako se ručno Umetni Korisničke u SMF Forum Koristeći PHP

Posted in SMF (Simple Machine Forum), PHP by ShortLikeAFox na 28. srpnja 2008

Ovaj primjer je specifičan za SMF 1.1.5. I can’t guarantee it will work with any other version.

Zato što pokrenete Simple Machine Forum Software i želite ručno unijeti korisnik? Nema problema. Znam taj problem izgleda vrlo specifičan, ali ideja je objašnjeno ovdje se može prilagoditi druge vrste forume database driven i drugih programskih paketa kao što su Wordpress. Prije nego što se upravo u tome, Let's pogledajte kako Simple Machine Forume vodi evidenciju o korisnicima. U SMF baza nalazi se tablica zove smf_members. The smf_members struktura izgleda ovako:

Polje Vrsta Null

Ključ Zadano Extra
ID_MEMBER mediumint (8) nepotpisan NE Pri NULL auto_increment
memberName varchar (80) NE MUL
dateRegistered int (10) nepotpisan NE MUL 0
postovi mediumint (8) nepotpisan NE MUL 0
ID_GROUP smallint (5) nepotpisan NE MUL 0
lngfile tinytext NE MUL
lastLogin int (10) nepotpisan NE MUL 0
realname tinytext NE
instantMessages smallint (5) NE 0
unreadMessages smallint (5) NE 0
buddy_list text NE
pm_ignore_list text NE
messageLabels text NE
passwd varchar (64) NE
emailAddress tinytext NE
personalText tinytext NE
spol tinyint (4) nepotpisan NE 0
Datum rođenja datum NE MUL 0001-01-01
websiteTitle tinytext NE
websiteUrl tinytext NE
mjesto tinytext NE
ICQ tinytext NE
AIM varchar (16) NE
YIM varchar (32) NE
MSN tinytext NE
hideEmail tinyint (4) NE 0
showOnline tinyint (4) NE 1
timeFormat varchar (80) NE
potpis text NE
timeOffset splavariti NE 0
avatar tinytext NE
pm_email_notify tinyint (4) NE 0
karmaBad smallint (5) nepotpisan NE 0
karmaGood smallint (5) nepotpisan NE 0
usertitle tinytext NE
notifyAnnouncements tinyint (4) NE 1
notifyOnce tinyint (4) NE 1
notifySendBody tinyint (4) NE 0
notifyTypes tinyint (4) NE 2
memberIP tinytext NE
memberIP2 tinytext NE
secretQuestion tinytext NE
secretAnswer varchar (64) NE
ID_THEME tinyint (4) nepotpisan NE 0
is_activated tinyint (3) nepotpisan NE 1
validation_code varchar (10) NE
ID_MSG_LAST_VISIT int (10) nepotpisan NE 0
additionalGroups tinytext NE
smileySet varchar (48) NE
ID_POST_GROUP smallint (5) nepotpisan NE MUL 0
totalTimeLoggedIn int (10) nepotpisan NE 0
passwordSalt varchar (5) NE

Polja koja treba obratiti pozornost na:

  • memberName - Samopomoć Explanitory.
  • dateRegistered - nije potrebno, ali ako ne ispunjenih datum registrirani prikazuje kao 31. prosinac 1969. Datum je spremljen kao vremensku epohu. Ne znam kako izračunati timestamps u tvoju glavu? Nema problema. Koristim slobodan generator naći ovdje.
  • realname - treba umetnuti. Kad nisam siguran sam ponoviti memberName ovdje.
  • emailAddress - Samopomoć Explanitory.
  • is_activated - mora biti postavljena na 1 jer smo ručno aktivirati član.
  • ID_POST_GROUP - neću lagati. Im 'ne siguran što je ovo, ali to uvijek izgleda kao da se podesiti na 4. Dakle .... Uvijek sam ga do 4. Nije najbolji način da se program, ali ono što mogu učiniti?
  • passwd - The lozinku želite dati novi korisnik. Nemoguće je shvatiti kako unijeti bez pogledati SMF dokumentaciju. Odgovarajući broj jedan za šifriranje SMF lozinku za bazu podataka izgleda ovako:

($memberName).$password) $ passwd = sha1 (strtolower ($ memberName). $ lozinka)

U gornji redak koda, $ password je stvarni korisnik lozinka.

Kako ćete to učiniti:

/ / Prvo spajanje na bazu podataka SMF

$ host = "hostname"; / / host name
$ username = "username", / / mysql username
$ MojaLozinka = "lozinka"; / / mysql password
$ db_name = "username", / / Database ime

("cannot connect to server"); mysql_connect ( "host $", "$ username", "$ MojaLozinka") ili umrijeti ( "ne može spojiti na poslužitelj");
("cannot select DB"); mysql_select_db ( "$ db_name") ili die ( "ne mogu odabrati DB");

$ memberName = "Ironman";
$ realname = "Tony ukočen";
$ emailAddress = "ironMan@ironMan.com";
$ is_activated = 1;
$ ID_POST_GROUP = 4;

$ password = "Tony1234";

($memberName).$password); $ password = sha1 (strtolower ($ memberName). $ password);

$ dateRegistered = 1216951200; / / 7/25/2008 2

$ query = "INSERT NA smf_members (memberName, realname, emailAddress, is_activated, ID_POST_GROUP, passwd, dateRegistered) vrijednosti ( '$ memberName', '$ realname', '$ emailAddress',' $ is_activated ',' $ ID_POST_GROUP ',' $ password ',' $ dateRegistered ') ";
("SMF Error 101.234 "); $ rezultat = mysql_query ($ query) ili die ( "Greška SMF 101,234");

To je sve što je na njega!

Kako napraviti Images Thumbnail Koristeći PHP

Posted in funkcija php by ShortLikeAFox na 22. srpnja 2008

Dakle želite izraditi sličice s obzirom sliku ... PHP čini ovaj jednostavan zadatak. Sam prvi put pisao funkcija ispod da se bave slike od strane korisnika na web stranici mogu pomoći upravljati. Učitane slike na ovim stranicama mogu se jpegs, pngs ili gifs, pa sam morao napisati funkciju koja se bavi svim trima. Ovaj kod je izvorno temelji isključivanje funkcije naći na webcheatsheet.com

Kako ćete to učiniti:

funkcija createThumbs ($ pathToImages, $ fname, pathToThumbs $, $ thumbWidth)
(

/ / Parsati put za proširenje

$ info = pathinfo ($ pathToImages. fname $);
/ / Nastaviti samo ako je to JPEG image
($info['extension']) == ‘jpeg’) ) if ((strtolower ($ info [ 'ekstenziju']) == 'jpg') | | (strtolower ($ info [ 'ekstenziju']) == 'jpeg'))
(

/ / Učitavanje slika i dobiti veličina slike
$ img = imagecreatefromjpeg ( "($ pathToImages) ($ fname)");
$ width = imagesx ($ img);
$ imagesy height = ($ img);

/ / Izračunati veličinu sličice
new_width $ = $ thumbWidth;
$ new_height kat = ($ height * ($ thumbWidth / $ width));

/ / Izraditi novu privremenu sliku
$ tmp_img = imagecreatetruecolor ($ new_width, $ new_height);

/ / Kopiranje i veličinu slike stare u nove slike
imagecopyresized ($ tmp_img, $ img, 0, 0, 0, 0, $ new_width, $ new_height, $ width, $ height);

/ / Spremanje sličice u datoteku
imagejpeg ($ tmp_img, "($ pathToThumbs) ($ fname)");

)

if (strtolower ($ info [ 'ekstenziju']) == 'gif')
(

/ / Učitavanje slika i dobiti veličina slike
$ img = imagecreatefromgif ( "($ pathToImages) ($ fname)");
$ width = imagesx ($ img);
$ imagesy height = ($ img);

/ / Izračunati veličinu sličice
new_width $ = $ thumbWidth;
$ new_height kat = ($ height * ($ thumbWidth / $ width));

/ / Izraditi novu privremenu sliku
$ tmp_img = imagecreatetruecolor ($ new_width, $ new_height);

/ / Kopiranje i veličinu slike stare u nove slike
imagecopyresized ($ tmp_img, $ img, 0, 0, 0, 0, $ new_width, $ new_height, $ width, $ height);

/ / Spremanje sličice u datoteku
imagegif ($ tmp_img, "($ pathToThumbs) ($ fname)");

)

if (strtolower ($ info [ 'ekstenziju']) == 'png')
(

/ / Učitavanje slika i dobiti veličina slike
$ img = imagecreatefrompng ( "($ pathToImages) ($ fname)");
$ width = imagesx ($ img);
$ imagesy height = ($ img);

/ / Izračunati veličinu sličice
new_width $ = $ thumbWidth;
$ new_height kat = ($ height * ($ thumbWidth / $ width));

/ / Izraditi novu privremenu sliku
$ tmp_img = imagecreatetruecolor ($ new_width, $ new_height);

/ / Kopiranje i veličinu slike stare u nove slike
imagecopyresized ($ tmp_img, $ img, 0, 0, 0, 0, $ new_width, $ new_height, $ width, $ height);

/ / Spremanje sličice u datoteku
imagepng ($ tmp_img, "($ pathToThumbs) ($ fname)");

)

)

Kako to radi

Funkcija createThumbs traje četiri argumenata.

  • $ pathToImages -> Put do mape slikovne datoteke je u. To bi moglo izgledati nešto kao ovo: / home / content / username / html / popis / dodano /
  • $ fname -> Ime datoteke: pic1.gif, johnny.jpg, itd ...
  • $ pathToThumbs -> Put do mape koju želite sliku da se in vi ne želite da se isti put kao $ pathToImages, jer sliku će imati isto ime kao i originalne slike.
  • $ thumbWidth -> Širina koje želite sličice da se u pikselima.

Važna napomena da sam ovdje trebala bi se da je ova funkcija nema ništa na mjestu, osim u datoteci produzenje provjeriti, da biste bili sigurni da slikovne datoteke sadrže zlonamjerne ništa. Budući da je slika createThumbs () radi s već učitane se pretpostavlja da su datoteke ispravno scrutinized.

Prva stvar createThumbs () je to poziv pathinfo (). pathinfo () breakove dijelova put u polje. To je korisno za nas, jer nam je potrebna file extension pravilno izraditi sličice. Sljedeća createThumbs () provjerava da li je riječ o jpeg. Ako izvorna datoteka jpeg createThumbs se stvara nova slika temelji se na izvornu sliku sa imagecreatefromjpeg (). Sljedeći korak je dobiti širinu i visinu slike (imagesx (), imagesy ()). Korištenje $ thumbWidth i originalni omjer širine i visine createThumbs () postavlja nove širinu i visinu sličice. Korištenje ovih novih ratios createThumbs () stvara "prazno" slika koja će biti ista širinu i visinu sličice sa imagecreatetruecolor (). Imagecopyresized () se koristi za resize slika i spremite je u "prazno", upravo stvorili. imagecopyresized () može izgledati kao da ima puno parametara, ali ako pogledajte dokumentaciju ga stvarno nije komplicirano. Now that the thumbnail exists as a true color image all createThumbs needs to do is convert the file into a jpeg. Da biste to učinili imagejpeg () je pozvan.

To je način na koji funkcioniraju radi jpegs. Postoje minimalne razlike. Pngs i. Gifs.

Kako napisati Preglednik Specifični Code s PHP

Posted in PHP by ShortLikeAFox na 21. srpnja 2008

Dakle želite napisati kod koji se pojavljuje samo na određenim preglednicima ... Postoje brojni razlozi da želite učiniti. Prvi put sam osobno je potrebno da to učinite dogodili dok sam bio težak da biste ugradili MP3 na određenu stranicu. Iz nekog razloga ne bih mogao napisati kod tako da je mp3 bi igrati na pretraživače testirati na (IE, Firefox i Opera), i provjeriti u isto vrijeme. Ako JA sjećati se korektno, da je Internet Explorer koja je uzrokuje. Rješenje sam došao gore sa bilo da koristi nešto PHP saznati kada korisnik je pomoću IE, a zatim ugraditi u mp3 u ne-valjani kôd ako to je bio slučaj.

Ovo rješenje je dovela do mp3 uvijek svira korektno i stranice uvijek provjere, jer je W3C validator ne identificira kao IE. To možda neće biti najviše etickih način da dođete do W3C poštovanje, ali radi.

Drugi put Sjećam trebaju napisati preglednik specifične kôd je kad sam bio vlasništvo problem sa IE 6 ne prikazujete moje. Png slike ispravno. Ja googled uokolo i pronašao nekoliko rješenja za problem, ali obojica zavrsilo messing up cjelokupni sloj lokacije na mojim stranicama. Umjesto da za rješavanje problema problem, JA je otišao sa brzo rješenje i odlučio za prikaz. Gifs kada korisnik imao IE 6. Ako korisnik imao drugog preglednika koji je imao. Png problema sam shvatio da je previše loše za njega.

Kako ćete to učiniti:

Prvo morate napisati malo redak koda za shvatiti što vaš browser korisnik. Evo kako to učiniti s PHP:

  • 'HTTP_USER_AGENT' ]; visitorsOS $ = $ _SERVER [ 'HTTP_USER_AGENT'];

Ovdje su tri primjera šta $ visitorsOS može izgledati

  • Mozilla/4.0 (kompatibilan; MSIE 6.0; Windows NT 5,1; SV1;. NET CLR 1.0.3705;. NETO
  • Opera/9.51 (Windows NT 5,1; U; pl)
  • Mozilla/5.0 (Windows; U; Windows NT 5,1; en-US; rv: 1.9) Gecko/2008052906 Firefox

Prvi korisnik je Internet Explorer 6, drugi Opera 9,51, a treći Firefox.

Sada znamo da se više informacija nego što smo stvarno potreba o posjetitelja računala nam je potrebno da stavite tu informaciju kako dobro koristiti. Recimo da želite napisati kod koji će se pojaviti samo ako je korisnik trčanje bilo koju verziju Internet Explorera. U tom slučaju biste to učinili:

(’MSIE’,$visitorsOS)){ if (eregi ( "MSIE", $ visitorsOS)) (

Kod koji će se pojaviti isključivo ukoliko korisnik ima IE

)

else (

Kod koji će se pojaviti u svim drugim slučajevima

)

Koristim eregi, slučaj nesenzibilan Regularni izraz utakmicu umjesto ereg, slučaju osjetljive Regularni izraz podudaraju. Ne sjećate li to učinili iz paranoja, ili ako sam stvarno našla slučaju Internet Explorera identificiran kao msie. U oba slučaja eregi neće boljeti nešto tako da je ono što ja upotrebi. Želeći da napišete kod za određene verzije IE zahtijevat će samo malo promijeniti. umjesto ... (eregi ( "MSIE" ...) ja bi nešto slično (eregi ( "MSIE 6,0 '...), ako sam htjela da se samo kod pojavio za MSIE 6.0.