कैसे कहाँ आपके आगंतुकों भौगोलिक PHP का प्रयोग कर रहे हैं बताने के लिए

नाशपाती, 13 सितंबर, 2008 को ShortLikeAFox द्वारा PHP में तैनात

यदि आप एक वेबसाइट है और जहाँ आपके प्रयोक्ताओं भौगोलिक दृष्टि से PHP और नाशपाती यह संभव बनाते आ रहे हैं कहना चाहता हूँ. एक भौतिक स्थान आपको करना है कि आप Net_Geo नाशपाती मॉड्यूल है सुनिश्चित कर रही है जरूरत करने जा रहे हैं कि पहली बात में एक मेहमान के आईपी बारी के लिए. यदि आप Net_Geo नाशपाती मॉड्यूल नहीं है, आप इसे प्राप्त करने के लिए नाशपाती पैकेज प्रबंधक का प्रयोग करने जा रहे हैं.

अगर आपको लगता है कि आप कैसे है कि डिफ़ॉल्ट रूप से उपयोग की अनुमति नहीं देता एक खाते पर नाशपाती स्थापित करने के लिए इस विवरण बाहर चेक आपके होस्टिंग पैकेज के कारण नाशपाती के लिए उपयोग किया है नहीं लगता है. यह GoDaddy के साथ लिखा है मन में है, लेकिन खातों साझा सबसे कि नाशपाती की स्थापना के साथ नहीं आते संकुल की मेजबानी के लिए काम करना चाहिए.

उसके बाद आप Net_Geo पैकेज स्थापित किया है, यह केवल भौगोलिक डेटा प्राप्त करने के लिए कोड की कुछ लाइनें लेता है:

<? PHP

); require_once ( "नेट / Geo.php");
]; $ IP = $ _SERVER [ 'REMOTE_ADDR'];
/ / $ IP = "64.246.30.37";
$ firstNetGeo = नए Net_Geo ();
$ geoData = $ firstNetGeo-> getRecord ($ IP);

?>

($ip); ?> <br/> आईपी: <? PHP गूंज ($ IP);?> <br/>
($geoData[ 'LAT' ]); ?> <br/> अक्षांश: <? PHP गूंज ($ geoData [ 'LAT']);?> <br/>
($geoData[ 'LONG' ]); ?> देशांतर: <? PHP गूंज ($ geoData [ 'लंबी']);?>
<br/>
($geoData[ 'COUNTRY' ]); ?> <br/> देश: <? PHP गूंज ($ geoData [ 'देश']);?> <br/>
($geoData[ 'STATE' ]); ?> <br/> राज्य: <? PHP गूंज ($ geoData [ 'राज्य']);?> <br/>
($geoData[ 'CITY' ]); ?> <br/> शहर: <? PHP गूंज ($ geoData [ 'CITY']);?> <br/>

इस संहिता में काम पर:

IP: 66.249.85.132

अक्षांश: -25,00

देशांतर: 135,00

देश: ए.यू.

राज्य:

शहर:

कैसे शामिल काम PHP कोड के लिए आपके WordPress में पोस्ट

WordPress, अगस्त पर ShortLikeAFox द्वारा PHP 17 वीं, 2008 में तैनात

तो क्या आप चाहते हैं आपके WordPress ब्लॉग पोस्ट और पृष्ठों में PHP का उपयोग करने के लिए सक्षम होने के लिए. यह कोई समस्या नहीं है. बस का उपयोग कर <? PHP ... ... ..?> जब तक आप एक प्लगइन पहले स्थापित WordPress गुस्सा करने के लिए जा रहा है. वहाँ है कि इस क्षमता की पेशकश करने का दावा कुछ plugins हैं, पर मुझे लगता है कि मिल गया है जो एक सबसे अच्छा काम करता है Exec है PHP. PHP कोड का उपयोग करते हुए, इन चरणों का पालन शुरू करने के लिए:

  1. डाउनलोड Exec-PHP
  2. Install इसे आप किसी भी माध्यम से आपको चलना होगा README फाइल और इसके बाद के संस्करण (इस कड़ी प्लगइन होगा जैसे इस)
  3. यदि आप वर्तमान में यह प्रयोग कर रहे हैं, तो आप WYSIWYG संपादक को बंद करना होगा. , उपयोगकर्ता जाने ऐसा करने के लिए - आपका प्रोफ़ाइल और अ का प्रयोग दृश्य संपादक जब चेकबॉक्स> लेखन
  4. PHP कोड की तरह आप सामान्य रूप से होता: <? PHP लेखन शुरू .... कोड यहाँ जाता है?>

यह सब वहाँ यह करने के लिए है!

कैसे बनाएँ करने के लिए और प्रयोग के साथ गतिशील रूप PHP Variables नाम

PHP में ShortLikeAFox द्वारा अगस्त को, 2008 17 वीं पोस्ट

तो आप अपने कोड में गतिशील चर नाम का उपयोग करना चाहते हैं. कोई समस्या नहीं है. तुम 100 चर है कहने दो, dog0, dog1, dog2 नाम ...., Dog98, dog99. तुम क्यों इस तरह से एक सरणी के बजाय 100 चर का उपयोग करना चाहेंगे मेरे से परे है, लेकिन इस उदाहरण के लिए यह कोई बात नहीं. आप निम्न इस्तेमाल कर सकते हैं एक त्वरित पाश में इन चर सेट करने के लिए:

0 ; $i < 100 ; $i ++ ){ i = 0 ($ के लिए; $ i <100; $ i + +) (

; $ variableName = "कुत्ते $ मैं";
$ $ variableName = $ i; / / 1, 2, 34, आदि करने के लिए $ कुत्ता 34 $ dog2 $ dog1 सेट ....

)

अब आप इन सभी चर का उपयोग करना चाहता था कहते हैं. आप निम्नलिखित का उपयोग कर सकते हैं:

0 ; $i < 100 ; $i ++ ){ i = 0 ($ के लिए; $ i <100; $ i + +) (

; $ variableName = "कुत्ते $ मैं";
गूंज ( "<br/>");
( "$ variableName गूंज:");
गूंज ($ $ variableName);

)

यह पाश प्रिंट:

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

इत्यादि ... पूरी तरह से
dog99: 99

कैसे Intergrate आईऍसबीऍन प्रवेश करने के लिए आपका वेबपेज PHP का प्रयोग पर

PHP में ShortLikeAFox द्वारा अगस्त को, 2008 12 वीं पोस्ट

ISBNs या अंतर्राष्ट्रीय मानक पुस्तक अंक कि व्यक्तिगत पुस्तकों के बारे में जानकारी प्राप्त करने के लिए इस्तेमाल किया जा सकता है उपयोगी identifiers हैं. अगर आप PHP यह संभव बनाता है अपने वेब अनुप्रयोगों में आईऍसबीऍन lookups को एकीकृत करना चाहता हूँ.

चरण एक: ISBNdb.com एक एक एपीआई से उपयोगकर्ताओं को वेब के आसपास आईऍसबीऍन रिकॉर्ड के अपने डेटाबेस का उपयोग करने की अनुमति देता है बनाया गया है. यहाँ एपीआई का अपना वर्णन है:

ISBNdb.com 'अन्य वेबसाइटों और स्वसंपूर्ण आवेदनों की अनुमति देने के लिए डिज़ाइन किया गया है दूरस्थ पहुँच अनुप्रयोग प्रोग्रामिंग अंतरफलक (एपीआई) के आंकड़ों ISBNdb.com द्वारा 2003 के बाद से एकत्र की विशाल संग्रह का उपयोग करें. इस लेखन का, जुलाई 2005 में के रूप में, डेटा को लगभग 1800000 किताबें शामिल हैं; लगभग 3000000 करोड़ पुस्तकालय रिकॉर्ड, करीब एक लाख विषयों के लिए, लेखक और प्रकाशक रिकॉर्ड पुस्तकालय डेटा से बाहर पार्स के हजारों की सैकड़ों; से अधिक 10000000 रिकॉर्ड वास्तविक और ऐतिहासिक कीमतों.

पहले तुम. पंजीयन रजिस्टर चाहिए इस API का उपयोग करने के लिए सचमुच पूरा करने के लिए सेकंड लेता है. इस के बाद, आपको एक चाबी की स्थापना करने की आवश्यकता है. कुंजी आप सीधे अपने खुद के कोड से आईऍसबीऍन डेटाबेस का उपयोग करने की अनुमति देते हैं. इस ISBNdb.com वेबसाइट चाबियाँ आसान स्थापित करता है.

कदम दो: शुरू डाटाबेस के साथ बातचीत करने के लिए कोड लिखने अब तुम हो. एक आईऍसबीऍन देखने के लिए एक अनुरोध कुछ इस तरह दिखेगा:

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

तुम XXXXXX के स्थान में आपकी पहुँच कुंजी डालने जाएगा. $ IsbnQuery तुम $ अंदर isbnData इच्छुक हैं ISBN संख्या होगी एक XML फ़ाइल है. आप अपने कोड के साथ क्या कर रहा है यह बताने के लिए की जरूरत है इस डेटा का उपयोग करने के लिए. यह काम करेगा ही कुछ:

) ; $ xmlData = @ simplexml_load_file ($ isbnData) या मर ( "नहीं भरा फाइल");

अब आप के साथ व्यक्तिगत चर का उपयोग कर सकते हैं यह करने के लिए इसी तरह के फोन:

]->Title ; $ शीर्षक = $ xmData-> BookList [0] -> BookData [0] -> शीर्षक;

यहाँ एक पूरा काम उदाहरण है:

<? PHP

$ searchQuery = "9780684801223"; / / अर्नेस्ट हेमिंग्वे का बूढ़ा आदमी और समुद्र के लिए आईऍसबीऍन
$ isbnData = "http://isbndb.com/api/books.xml?access_key=XXXXXX&index1=isbn&value1 = $ searchQuery"; / / अपने खुद के उपयोग कुंजी के साथ XXXXXX को बदलने के लिए याद रखें
) ; $ xmlData = @ simplexml_load_file ($ isbnData) या मर ( "नहीं भरा फाइल");
]->Title ; $ शीर्षक = $ xmlData-> BookList [0] -> BookData [0] -> शीर्षक;
]->AuthorsText ; $ लेखकों = $ xmlData-> BookList [0] -> BookData [0] -> AuthorsText;
]->PublisherText ; $ प्रकाशक = $ xmlData-> BookList [0] -> BookData [0] -> PublisherText;

); ( "$ शीर्षक <br/>") गूंज;
); ( "$ लेखकों <br/>") गूंज;
); ( "$ प्रकाशक गूंज <br/>");

/ / यह उदाहरण प्रिंट:
/ / बूढ़ा आदमी और समुद्र
/ / अर्नेस्ट हेमिंग्वे
/ / न्यू यॉर्क: Scribner किताबचा गल्प, 1995.

?>

कैसे मैन्युअल डालें एक समूह प्रयोक्ता के एक SMF फोरम में करने के लिए PHP का प्रयोग

SMF (सरल मशीन फोरम), जुलाई पर ShortLikeAFox द्वारा PHP 30, 2008 में तैनात

यह Tutorial आप अपने पद से परिचित हैं ग्रहण: कैसे मैन्युअल डालें एक प्रयोक्ता के लिए एक SMF फोरम PHP का प्रयोग में.

मैं हाल ही में 800 या तो हिल की चुनौती का सामना करना पड़ा एक SMF फोरम में एक डेटाबेस से बैंड. मैं समस्याओं जब इस कदम है कि मैं पहली पोस्ट में कवर नहीं किया बनाने की एक जोड़ी का सामना करना पड़ा:

  1. इस बैंड के नाम चरित्र कदम से एक चरित्र के लिए SMF डेटाबेस में सुरक्षित होने की गारंटी नहीं थे. तो नाम किसी तरह का समारोह संशोधित नियुक्त किया था.
  2. इस बैंड पासवर्ड नहीं है. तो पासवर्ड की पीढ़ी के कुछ प्रकार की जरूरत है नियोजित किया जाना है.

मैं इस बारे में सभी फोरम में बैंड के पंजीकरण की गई यह कदम इस तरह एक छोटे से चला गया:

ओपन के बैंड डाटाबेस

प्रत्येक (बैंड के लिए) (

उत्पन्न पासवर्ड

नाम बदलें बैंड "सुरक्षित" नाम के साथ

पकड़ो और उत्पन्न जानकारी उपयोगकर्ता डालने की जरूरत

डालें बैंड में smf_members

बैंड के पासवर्ड के साथ एक ईमेल भेजें

)

मुझे लगता है कि सूचना शामिल उपयोगी था बैंड डेटाबेस: से उपलब्ध था, bandEmail, bandName और bandWebsite

यहाँ मैं करता था कूटशब्द पीढ़ी समारोह है (blatently totallyphp.co.uk से) उठाए:

समारोह createRandomPassword () (

$ chars = "abcdefghijkmnopqrstuvwxyz023456789";

() * 1000000); srand (() microtime डबल () * 1000000);

$ i = 0;

$ = "पास;



($ जब मैं <= 7) (

33; $ NUM = रैंड ()% 33;

$ tmp = substr ($ chars, $ NUM, 1);

$ पास = $ पास. $ tmp;

$ i + +;

)

$ वापस पास;

)

कूटशब्द यहाँ अपेक्षाकृत कमजोर बनाया है, लेकिन यह काफी अपने उद्देश्यों के लिए अच्छा था. कोई पासवर्ड पीढ़ी समारोह यहां ठीक काम करेगा. अगर वे इसे बदलने के लिए नहीं चुना के लिए सदस्यों को याद करने की है क्योंकि यह आसान होगा मैं यह एक चुना.

कैसे करना है:

/ / पहले बैंड डेटाबेस से कनेक्ट
$ उपयोगकर्ता नाम = "bandUsername";
$ मेजबान = "bandHost";
$ mypassword = "bandPassword";
$ db_name = "bandDatabase";

("cannot connect to server"); "मेजबान (" $ mysql_connect, "$ उपयोगकर्ता नाम", "$ mypassword") या मर ( "सर्वर से") कनेक्ट नहीं कर सकते हैं;
("cannot select DB"); mysql_select_db ( "$ db_name") या मर ( "") DB का चयन नहीं कर सकते हैं;

/ / अब डेटाबेस से सभी बैंड के हड़पने
$ क्वेरी = "चुनें * से allBands";
$ बैंड = mysql_query ($ क्वेरी) या मर ( "Config त्रुटि 2222b");
$ userRows = mysql_num_rows ($ बैंड);

/ / अब smf DB से कनेक्ट करने देता है
$ मेजबान = "smfhost"; / / मेजबान नाम
$ उपयोगकर्ता नाम = "smfuser; / / MySQL प्रयोक्ता नाम
$ mypassword = "smfpassword"; / / MySQL पासवर्ड
$ db_name = "smfdatabase"; / / डाटाबेस नाम

("cannot connect to server"); "मेजबान (" $ mysql_connect, "$ उपयोगकर्ता नाम", "$ mypassword") या मर ( "सर्वर से") कनेक्ट नहीं कर सकते हैं;
("cannot select DB"); mysql_select_db ( "$ db_name") या मर ( "") DB का चयन नहीं कर सकते हैं;

/ / $ vaild_chars उपयोगकर्ता नाम के लिए अनुमति दी पात्रों की सरणी होने जा रही है. मैं केवल अक्षर और अंक की अनुमति देने का फैसला किया. वहाँ है कि एक समस्या उत्पन्न नहीं होती इस्तेमाल किया जा सकता है अन्य अक्षर हैं, पर शैली कारणों से मैं केवल अक्षर और अंक के साथ जाने का फैसला किया
$ valid_chars = "abcdefghijklmnopqrstu vwxyz 0 1 2 3 4 5 6 7 8 9";
$ valid_chars विस्फोट = ( "", $ valid_chars);

/ / अब हम पाश के लिए प्रत्येक बैंड के माध्यम से की जरूरत है

){ i = 0 ($ के लिए; $ i <$ userRows, $ i + +) (

($bands)){ ($ यदि पंक्ति = mysql_fetch_assoc ($ बैंड)) (

/ / Extract बैंड जानकारी
उद्धरण ($ पंक्ति);
/ / बैंड के लिए एक पासवर्ड बनाएँ
$ realPassword = createRandomPassword ();
/ / मैं अपनी Debugging के हिस्से के रूप में और bandname और पासवर्ड गूंज के रूप में काम करता है तो मैं इस समारोह देख सकते हैं का चुनाव
गूंज ( "<br/> $ bandName - $ realPassword");
$ newBand = "";
बैंड नाम पर हम अगर डॉलर से valid_chars एक वैध चरित्र मैच देखने के लिए देखने के लिए जा रहे हैं एक पत्र / / के लिए. ऐसा लगता है कि हम इसे से मुक्त करने के लिए जा रहे हैं नहीं है और बैंड नाम truncate
($bandName); $j ++ ){ ($ j = 0; $ j <strlen ($ bandName); $ j + +) (के लिए

($band[$j])); $ Temp = str_replace ($ valid_chars, "एक्स", strtolower ($ बैंड [$ j]));
($ अगर temp == "एक्स")

$ = $ newBand newBand. $ बैंड [$ j];

)
/ / मैं मैं पुराने नाम और पासवर्ड की गूंज एक ही कारण के लिए नया नाम गूंज
( "- $ newBand") गूंज;
/ / हम नए बैंड का नाम है .... अब हम इस डाटाबेस में डालने के लिए की जरूरत को जानकारी buliding शुरू करते हैं ...
$ = $ newBand memberName;
$ = $ newBand realName; / / मैं असली नाम और सदस्य के नाम एक ही निर्धारित किया है. अगर वे चाहते हैं यह बैंड इसे बदल सकते हैं
$ emailAddress = $ bandEmail;
$ websiteUrl = $ bandWebsite; / / जब से मैं भी उन्हें दर्ज कर सकते हैं इस बैंड 'वेबसाइटों है
$ = $ newBand websiteTitle;
$ = 1 is_activated;
$ ID_POST_GROUP = 4;
($memberName).$realPassword); //Password must be encrypted $ कूटशब्द = sha1 (strtolower ($ memberName). $ realPassword); / / पासवर्ड एन्क्रिप्टेड किया जाना चाहिए

/ / इस SMF डेटाबेस में एक ही नाम के साथ यकीन है कि उनके isn'ta सदस्य बनाओ. हम दो बार गलती से किसी को भी प्रवेश नहीं करना चाहता हूँ
$ क्वेरी = "चुनें * से" memberName कहाँ memberName = '$ smf_members;
("Config Error 2222343242b"); $ परिणाम = mysql_query ($ क्वेरी) या मर ( "Config त्रुटि 2222343242b");
$ nrows = mysql_num_rows ($ परिणाम);

यदि सदस्य का नाम मिला है / / कुछ नहीं कर
($ nrows> 0) () अगर

और (

/ / यदि उपयोगकर्ता को पहले ही मंच के लिए साइन अप नहीं है तो करते हैं और एक ईमेल भेज ....
$ क्वेरी = "घुसाएँ को smf_members (, emailAddress, ID_POST_GROUP, websiteUrl passwd, websiteTitle) मान ( '$ is_activated realName memberName memberName', '$' realName, '$' emailAddress, '$' is_activated, '$ ID_POST_GROUP' , '$ कूटशब्द', '$' websiteUrl, '$ websiteTitle') ";

("Config Error 2232 "); $ परिणाम = mysql_query ($ क्वेरी) या मर ( "Config त्रुटि 2232");

/ / अब हम बैंड को एक ईमेल भेज करने की आवश्यकता है
$ करने के लिए = $ emailAddress;
$ विषय = "आपका फोरम उपयोगकर्ता नाम और पासवर्ड";

/ / से
$ हेडर = "से: मुझे <me@mysite.com>";

/ / आपका संदेश
$ संदेश .= "आपका लॉगिन और कूटशब्द नीचे सूचीबद्ध हैं. आप या तो किसी भी समय बदल सकते हैं. यदि आप हमारे मंच में भाग लेने के लिए नहीं चाहता, कि कोई समस्या नहीं है. बस में प्रवेश नहीं है और यह कभी भी कुछ नहीं हुआ जैसा होगा . \ r \ n ";
$ संदेश .= "प्रयोक्ता नाम: $ memberName पासवर्ड: $ realPassword \ r \ n";

/ / ईमेल भेजने
$ sentmail = मेल ($, $ विषय, $ संदेश, $ हेडर) करने के लिए;
($ sentmail) यदि

गूंज ( "- हाँ!");
/ / यह हमारी गूंज के अंतिम हिस्सा है. इस "हाँ!" अगर एक ईमेल भेजा है ही मुद्रित किया जाएगा. तो एक पूरा प्रिंटआउट रेखा से कुछ इस तरह दिखेगा:
/ / एडम संघर्ष - 4s6vsxag - AdamStrife - हाँ!

)

)
)

कैसे मैन्युअल डालें एक प्रयोक्ता के लिए एक SMF फोरम में PHP का प्रयोग

SMF (सरल मशीन फोरम), जुलाई पर ShortLikeAFox द्वारा PHP 28, 2008 में तैनात

यह विशिष्ट उदाहरण SMF 1.1.5 के लिए है. मैं इसे किसी भी दूसरे संस्करण के साथ काम करेंगे गारंटी नहीं दे सकते.

तो क्या आप सरल मशीन फोरम सॉफ्टवेयर चलाने और स्वयं एक प्रयोक्ता प्रवेश करना चाहते हैं? कोई समस्या नहीं है. मैं इस समस्या को बहुत खास लगता है, लेकिन पता विचारों यहाँ मंचों और अन्य डेटाबेस Wordpress जैसे सॉफ्टवेयर संकुल संचालित अन्य प्रकार के लिए अनुकूलित किया जा सकता है के बारे में बताया. इससे पहले कि हम वास्तव में यह कैसे करना पड़ जाना है, ले कैसे सरल मशीन Forums उपयोगकर्ता का ट्रैक रखता है पर एक नज़र करते हैं. इस SMF डेटाबेस में एक मेज कहा जाता है smf_members. यह संरचना smf_members इस तरह दिखता है:

मैदान प्रकार अशक्त

कुंजी चूक अतिरिक्त
ID_MEMBER mediumint (8) अहस्ताक्षरित NO PRI Null auto_increment
memberName varchar (80) NO एमयूएल
dateRegistered int (10) अहस्ताक्षरित NO एमयूएल 0
पोस्ट mediumint (8) अहस्ताक्षरित NO एमयूएल 0
ID_GROUP smallint (5) अहस्ताक्षरित NO एमयूएल 0
lngfile tinytext NO एमयूएल
lastLogin int (10) अहस्ताक्षरित NO एमयूएल 0
realName tinytext NO
instantMessages smallint (5) NO 0
unreadMessages smallint (5) NO 0
buddy_list पाठ NO
pm_ignore_list पाठ NO
messageLabels पाठ NO
passwd varchar (64) NO
emailAddress tinytext NO
personalText tinytext NO
लिंग tinyint (4) अहस्ताक्षरित NO 0
जन्मतिथि तिथि NO एमयूएल 0001-01-01
websiteTitle tinytext NO
websiteUrl tinytext NO
स्थान tinytext NO
ICQ tinytext NO
AIM varchar (16) NO
YIM varchar (32) NO
MSN tinytext NO
hideEmail tinyint (4) NO 0
showOnline tinyint (4) NO 1
timeFormat varchar (80) NO
हस्ताक्षर पाठ NO
timeOffset फ्लोट NO 0
अवतार tinytext NO
pm_email_notify tinyint (4) NO 0
karmaBad smallint (5) अहस्ताक्षरित NO 0
karmaGood smallint (5) अहस्ताक्षरित NO 0
usertitle tinytext NO
notifyAnnouncements tinyint (4) NO 1
notifyOnce tinyint (4) NO 1
notifySendBody tinyint (4) NO 0
notifyTypes tinyint (4) NO 2
memberIP tinytext NO
memberIP2 tinytext NO
secretQuestion tinytext NO
secretAnswer varchar (64) NO
ID_THEME tinyint (4) अहस्ताक्षरित NO 0
is_activated tinyint (3) अहस्ताक्षरित NO 1
validation_code varchar (10) NO
ID_MSG_LAST_VISIT int (10) अहस्ताक्षरित NO 0
additionalGroups tinytext NO
smileySet varchar (48) NO
ID_POST_GROUP smallint (5) अहस्ताक्षरित NO एमयूएल 0
totalTimeLoggedIn int (10) अहस्ताक्षरित NO 0
passwordSalt varchar (5) NO

खेतों हम ध्यान देने की जरूरत है:

  • memberName - स्व Explanitory.
  • dateRegistered - है, लेकिन जरूरी नहीं है यदि तारीख 31 दिसंबर 1969 के रूप में प्रदर्शित करता है पंजीकृत बाहर भर नहीं है. दिनांक एक युग टाइमस्टैम्प के रूप में सहेजा है. कैसे अपने सिर में timestamps की गणना करने के लिए नहीं पता? कोई समस्या नहीं है. मैं यहाँ पाया मुफ्त जनरेटर का उपयोग करें.
  • realName - डाला जाना चाहिए. जब मैं मैं बस memberName यहाँ दोहराने यकीन नहीं है.
  • emailAddress - स्व Explanitory.
  • जब से हम स्वयं एक सदस्य को सक्रिय कर रहे हैं is_activated - 1 करने के लिए सेट किया जाना चाहिए.
  • ID_POST_GROUP - मैं झूठ नहीं बोलूँगी. मैं यह क्या है यकीन नहीं है, लेकिन यह हमेशा से 4 करने के लिए सेट किया जा रहा है. तो .... मैं हमेशा से 4 करने के लिए यह निर्धारित किया है. कार्यक्रम के लिए नहीं का सबसे अच्छा तरीका है, लेकिन आप क्या कर सकते हैं?
  • passwd - कूटशब्द आप नये उपयोगकर्ता देना चाहता हूँ. यह कैसे SMF दस्तावेज़ीकरण देख बिना प्रवेश करने के लिए पता करने के लिए असंभव है. यह उचित कोड डेटाबेस के लिए एक SMF पासवर्ड एन्क्रिप्ट करने के लिए इस तरह दिखता है:

($memberName).$password) $ passwd = sha1 (strtolower ($ memberName). $ पासवर्ड)

कोड के ऊपर की रेखा में, $ पासवर्ड उपयोगकर्ता के वास्तविक कूटशब्द है.

कैसे करना है:

/ / पहले, SMF डेटाबेस से कनेक्ट

$ मेजबान = "होस्टनाम"; / / मेजबान नाम
$ उपयोगकर्ता नाम = "उपयोगकर्ता नाम", / / MySQL प्रयोक्ता नाम
$ mypassword = "कूटशब्द"; / / MySQL पासवर्ड
$ db_name = "उपयोगकर्ता नाम", / / डाटाबेस नाम

("cannot connect to server"); "मेजबान (" $ mysql_connect, "$ उपयोगकर्ता नाम", "$ mypassword") या मर ( "सर्वर से") कनेक्ट नहीं कर सकते हैं;
("cannot select DB"); mysql_select_db ( "$ db_name") या मर ( "") DB का चयन नहीं कर सकते हैं;

$ memberName = "ironMan";
$ realName = "टोनी स्टार्क";
$ emailAddress = "ironMan@ironMan.com";
$ = 1 is_activated;
$ ID_POST_GROUP = 4;

$ कूटशब्द = "Tony1234";

($memberName).$password); $ कूटशब्द = sha1 (strtolower ($ memberName). $ पासवर्ड);

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

$ क्वेरी = "घुसाएँ में, '$' emailAddress, '$' is_activated, '$ realName' '$ memberName' (, emailAddress, ID_POST_GROUP, dateRegistered passwd is_activated realName) memberName मूल्यों ( '$ smf_members ID_POST_GROUP', ' $ कूटशब्द ',' $ dateRegistered ') ";
("SMF Error 101.234 "); $ परिणाम = mysql_query ($ क्वेरी) या मर ( "SMF त्रुटि 101,234");

यह सब वहाँ यह करने के लिए है!

कैसे थंबनेल छवियाँ PHP का उपयोग करने के लिए

कार्य में, ShortLikeAFox PHP द्वारा 22 जुलाई, 2008 को पोस्ट

तो तुम एक दिया छवि से थम्बनेल बनाने के लिए ... PHP यह काम आसान बना देता है चाहता हूँ. मैं पहले छवियाँ प्रयोक्ताओं प्रशासन की मदद से मैं एक साइट पर अपलोड से निपटने के लिए नीचे दिए गए समारोह लिखा. इस साइट पर अपलोड की गई छवियाँ jpegs, pngs, या gifs, इसलिए मैं सभी तीन से निपटने के लिए एक समारोह में लिखने के लिए किया जा सकता है. यह कोड मूलतः एक समारोह के बंद आधारित है webcheatsheet.com में मिला

कैसे करना है:

समारोह createThumbs ($ pathToImages, $ fname, $ pathToThumbs, $ thumbWidth)
(

/ विस्तार के लिए / पार्स पथ

$ जानकारी = pathinfo ($ pathToImages. $ fname);
/ / जारी सिर्फ अगर यह एक JPEG छवि है
($info['extension']) == ‘jpeg’) ) ((strtolower ($ अगर जानकारी [ 'एक्सटेंशन']) == '' jpg) | | (strtolower ($ जानकारी [ 'एक्सटेंशन']) == 'jpeg))
(

/ / लोड छवि और छवि आकार मिल
$ img = ( "($ pathToImages) ($ fname)") imagecreatefromjpeg;
$ चौड़ाई = imagesx ($ img);
$ ऊंचाई = imagesy ($ img);

/ / थंबनेल आकार की गणना
$ new_width = $ thumbWidth;
$ new_height = मंजिल ($ ऊंचाई * ($ thumbWidth / $ चौड़ाई));

/ / एक नया अस्थायी छवि बनाने
$ tmp_img = imagecreatetruecolor ($ new_width, $ new_height);

/ / कॉपी और पुरानी छवि का आकार नई छवि में
imagecopyresized ($ tmp_img, $ img, 0, 0, 0, 0, $ new_width, $ new_height, $ चौड़ाई, $ ऊंचाई);

/ / एक फ़ाइल में थंबनेल को बचाने
imagejpeg ($ tmp_img, "($ pathToThumbs) ($ fname)");

)

(strtolower ($ अगर जानकारी [ 'एक्सटेंशन']) == 'gif')
(

/ / लोड छवि और छवि आकार मिल
$ img = imagecreatefromgif ( "($ pathToImages) ($ fname)");
$ चौड़ाई = imagesx ($ img);
$ ऊंचाई = imagesy ($ img);

/ / थंबनेल आकार की गणना
$ new_width = $ thumbWidth;
$ new_height = मंजिल ($ ऊंचाई * ($ thumbWidth / $ चौड़ाई));

/ / एक नया अस्थायी छवि बनाने
$ tmp_img = imagecreatetruecolor ($ new_width, $ new_height);

/ / कॉपी और पुरानी छवि का आकार नई छवि में
imagecopyresized ($ tmp_img, $ img, 0, 0, 0, 0, $ new_width, $ new_height, $ चौड़ाई, $ ऊंचाई);

/ / एक फ़ाइल में थंबनेल को बचाने
imagegif ($ tmp_img, "($ pathToThumbs) ($ fname)");

)

(strtolower ($ अगर जानकारी [ 'एक्सटेंशन']) == 'png')
(

/ / लोड छवि और छवि आकार मिल
$ img = ( "($ pathToImages) ($ fname)") imagecreatefrompng;
$ चौड़ाई = imagesx ($ img);
$ ऊंचाई = imagesy ($ img);

/ / थंबनेल आकार की गणना
$ new_width = $ thumbWidth;
$ new_height = मंजिल ($ ऊंचाई * ($ thumbWidth / $ चौड़ाई));

/ / एक नया अस्थायी छवि बनाने
$ tmp_img = imagecreatetruecolor ($ new_width, $ new_height);

/ / कॉपी और पुरानी छवि का आकार नई छवि में
imagecopyresized ($ tmp_img, $ img, 0, 0, 0, 0, $ new_width, $ new_height, $ चौड़ाई, $ ऊंचाई);

/ / एक फ़ाइल में थंबनेल को बचाने
imagepng ($ tmp_img, "($ pathToThumbs) ($ fname)");

)

)

यह कैसे काम करता है

इस समारोह createThumbs चार बहस लेता है.

  • $ pathToImages -> छवि फ़ाइल यह इस: / घर / सामग्री / उपयोगकर्ता नाम / html / सूची / अपलोड की तरह लग रहे हो सकता है कुछ अंदर है, फ़ोल्डर का पथ /
  • $ fname -> इस फ़ाइलनाम: pic1.gif, johnny.jpg, आदि ...
  • $ pathToThumbs -> तुम्हें अंदर तुम ऐसा नहीं होने के लिए थंबनेल छवि चाहते फ़ोल्डर का रास्ता एक ही मार्ग के रूप में $ pathToImages होना यह चाहिए, क्योंकि थंबनेल छवि मूल छवि के रूप में एक ही नाम होगा.
  • $ thumbWidth -> इस चौड़ाई है कि आप पिक्सल में होना करने के लिए थंबनेल चाहते हैं.

एक महत्वपूर्ण ध्यान दें कि मैं यहाँ करना चाहिए कि इस समारोह में, फ़ाइल एक्सटेंशन की जाँच के अलावा, यह है कि छवि फ़ाइलों को कुछ भी नहीं दुर्भावनापूर्ण शामिल सुनिश्चित करने के लिए दूसरी जगह में कुछ भी नहीं है. फाइल createThumbs चूंकि () पहले से ही यह है कि फ़ाइलों को ठीक से छानबीन की गई है संभाला है अपलोड किया गया है के साथ काम करता है.

पहली बात createThumbs () फोन करता है pathinfo है (). pathinfo () एक सरणी में एक पथ के भागों टूटता है. क्योंकि हम ठीक से थम्बनेल बनाने के लिए फाइल एक्सटेंशन की जरूरत है यह हमारे लिए उपयोगी है. अगर हम एक jpeg के साथ काम कर रहे हैं अगली createThumbs () की जाँच को देखने के लिए. यदि मूल फ़ाइल एक JPEG createThumbs है एक नई छवि मूल छवि पर imagecreatefromjpeg के साथ आधारित बनाता है (). अगले कदम की चौड़ाई और इस छवि की ऊंचाई पाने के लिए है (imagesx (), imagesy ()). और मूल चौड़ाई और ऊंचाई createThumbs के अनुपात thumbWidth $ का उपयोग करना () नई चौड़ाई और थम्बनेल की ऊंचाई सेट. इन नए अनुपात createThumbs का उपयोग करना () है जो एक समान चौड़ाई और imagecreatetruecolor (). Imagecopyresized () की छवि का आकार और इसे बचाने के प्रयोग किया जाता है साथ थम्बनेल की ऊंचाई होगा एक "" रिक्त छवि बनाता है कि "" अभी बनाया खाली. imagecopyresized () इसे ही दिख सकता है, लेकिन मापदंडों का एक बहुत लेता है अगर तुम यह सच है कि जटिल नहीं है दस्तावेज़ीकरण पर एक नज़र रखना. अब यह है कि थम्बनेल एक सही रंग छवि सभी createThumbs के रूप में मौजूद करने की जरूरत है एक jpeg में फाइल कन्वर्ट है. इस imagejpeg करने के लिए () कहा जाता है.

इस तरह से इस समारोह jpegs के लिए काम करता है. वहाँ के लिए कम से कम अंतर है. Pngs और. Gifs.

कैसे लिखें ब्राउज़र विशिष्ट कोड को PHP के साथ

PHP में ShortLikeAFox द्वारा 21 जुलाई, 2008 को पोस्ट

तो आपको लगता है कि केवल कुछ ब्राउज़रों पर प्रदर्शित कोड लिखने के लिए चाहता हूँ ... कुछ कारणों से ऐसा करना चाहते करने के लिए एक नंबर रहे हैं. मैं व्यक्तिगत रूप से ऐसा करने की ज़रूरत पहली बार जब मैं एक निश्चित पृष्ठ पर एक mp3 एम्बेड करने के लिए कोशिश कर रहा था हुई. मैं इतना है कि mp3 (आईई, फ़ायरफ़ॉक्स, और ओपेरा) पर मैं परीक्षण के ब्राउज़रों पर खेलना होता है और मान्य एक ही समय पर कोड नहीं लिख सकता है किसी कारण के लिए. अगर मुझे सही याद है, यह इंटरनेट एक्सप्लोरर है कि इस समस्या पैदा कर दी गई थी. के साथ, जब उपयोगकर्ता IE का उपयोग कर रहा था, पता लगाने के लिए एक छोटी सी PHP का उपयोग करने के लिए गया था और फिर मैं आया इसका समाधान है कि अगर मामला था mp3 गैर में मान्य कोड एम्बेड.

क्योंकि W3C validator IE के रूप में ही पहचान कभी नहीं यह समाधान के mp3 हमेशा सही ढंग से और खेल पृष्ठ हमेशा मान्य करने के लिए, का नेतृत्व किया. यह W3C अनुपालन तक पहुँचने के लिए सबसे अधिक नैतिक रास्ता नहीं हो सकता है, लेकिन यह काम करता है.

एक और बार मैं ब्राउज़र विशिष्ट कोड लिखने के लिए की आवश्यकता होगी, याद है जब मैं ठीक से मेरी. PNG छवियों को प्रदर्शित नहीं IE 6 के साथ एक समस्या थी. मैं आसपास googled और इस समस्या के समाधान के लिए कुछ पाया है, लेकिन उन दोनों के ऊपर अपने पन्नों पर समग्र परत स्थानों से खिलवाड़ समाप्त हो गया. इसके बजाय कि समस्या समस्या निवारण की, मैं जल्दी हल के साथ गए और प्रदर्शन करने का निर्णय लिया. Gifs जब उपयोगकर्ता IE 6 था. यदि उपयोगकर्ता था कि एक अन्य ब्राउज़र की थी. मुझे लगता है कि उसके लिए बहुत बुरा लगा था png समस्याओं.

यह कैसे करना है:

पहले तुम कोड की एक छोटी लाइन लिखने के लिए क्या किया है अपने उपयोगकर्ता को ब्राउज़र पता करने की जरूरत है. ये कैसे करना है कि PHP के साथ:

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

यहाँ क्या $ visitorsOS के तीन उदाहरण हैं की तरह देख सकते हैं

  • Mozilla/4.0 (संगत; MSIE 6.0, Windows NT 5.1; SV1;. NET CLR 1.0.3705;. NET
  • Opera/9.51 (Windows NT 5.1; यू; pl)
  • Mozilla/5.0 (Windows, यू, Windows NT 5.1, en-us; rv: 1.9) Gecko/2008052906 फ़ायरफ़ॉक्स

पहली उपयोगकर्ता इंटरनेट एक्सप्लोरर 6 है, ओपेरा 9,51, और तीसरे फ़ायरफ़ॉक्स सेकंड.

की तुलना में हम वास्तव में हम डालने की जरूरत आगंतुक के कंप्यूटर के बारे में अब जरूरत है कि हम और अधिक जानकारी पता है कि अच्छी जानकारी का उपयोग करने के लिए. तुम अगर उपयोगकर्ता इंटरनेट एक्सप्लोरर का कोई भी संस्करण चला रहा है कि केवल दिखेंगे कोड लिखना चाहते कहो. तुम्हें यह नहीं होता है कि मामले में:

(’MSIE’,$visitorsOS)){ (eregi ( 'MSIE', $ visitorsOS)) (अगर

कोड जो USER IF दिखाई ही WILL आईई HAS

)

और (

अन्य सभी मामलों में कोड जो WILL प्रकट

)

मैं बजाय ereg, संवेदनशील नियमित अभिव्यक्ति मैच एक मामले मैच eregi, एक मामले असंवेदनशील नियमित अभिव्यक्ति का उपयोग करें. अगर मैं इस व्यामोह से बाहर है, या है अगर मैं वास्तव में एक मामला जहां इंटरनेट एक्सप्लोरर ही msie के रूप में पहचान मिली मुझे याद नहीं है. इसलिए यह मैं क्या फायदा है या तो eregi मामले में कुछ भी चोट नहीं होगा. केवल एक छोटा सा बदलाव की आवश्यकता होगी आईई का विशेष संस्करण के लिए कोड लिखने के लिए चाहता है. के बजाय ... अगर मुझे लगता है कि केवल MSIE 6.0 के लिए दिखाई कोड चाहता (eregi ( 'MSIE' ...) मैं (eregi ( 'MSIE 6.0' ...) जैसे कुछ का प्रयोग करेंगे.