पुरालेख php के लिए

कैसे एक जन ईमेल php का उपयोग करके बाहर भेजने के लिए

Php में ShortLikeAFox द्वारा सितम्बर, 2008 19 वीं पोस्ट

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

<? php

/ / सबसे पहले यह है कि ईमेल पते की जानकारी शामिल है इस डेटाबेस से कनेक्ट.
$ उपयोगकर्ता = "USER";
$ मेजबान = "HOST";
$ कूटशब्द = "PASSWORD";
$ डेटाबेस = "डाटाबेस";

( "Couldn’t connect to server" ); $ cxn ($ मेजबान, $ उपयोगकर्ता, $ पासवर्ड) mysql_connect = या मरने के ( "सर्वर से" ") कनेक्ट नहीं कर सका;
mysql_select_db ($ डाटाबेस);

कि इस ईमेल पते शामिल हैं / / क्वेरी तालिका. भर अपनी खुद की मेज़ नाम में यहाँ ...
$ क्वेरी = "चुनें * से theEmailAddresses";
( mysql_error ($cxn)); $ परिणाम = mysql_query ($ क्वेरी, $ cxn) या (mysql_error ($ cxn)); मरने
$ nrows = mysql_num_rows ($ परिणाम);

/ / प्रेषक के रूप में कौन पहचान की जाएगी. तुम, तुम यहाँ क्या चाहते रख सकते हैं, लेकिन यह सच भी यहाँ एक ईमेल पता है कि तुम पर नियंत्रण नहीं कर जगह को नैतिक नहीं है.
$ = से "से: me@mydomain.com";
/ / एक मानक ईमेल विषय पंक्ति
$ विषय = "क्या है mydomain.com नया में";
/ / संदेश
$ संदेश = "हाय, दोस्त मूल्य

अब हम mydomain.com में कुकियाँ बेच. इसे बाहर की जाँच करने के लिए भूलें!
साभार,
मुझे ";

/ / हम पहले से ही सभी ईमेल पते के queried किया है. अब हम सिर्फ ईमेल भेजने के लिए की आवश्यकता है
0 ; $i < $nrows; $i ++ ){ i = 0 ($ के लिए; $ i <$ nrows; $ i + +) (

$ पंक्ति = mysql_fetch_assoc ($ परिणाम);
उद्धरण ($ पंक्ति);
/ / बदलें $ ईमेल पते की जो इस स्तम्भ के साथ ईमेल कहा जाता है
$ करने के लिए = "$ ईमेल";
/ / प्रत्येक ईमेल करने के लिए डेटाबेस में ईमेल भेजें
अगर (मेल ($ करने के लिए, $ विषय, $ संदेश, $ से)) (

/ / ईमेलों की है कि सफलतापूर्वक भेजा गया था नाम प्रिंट. मैं इस बस इतना है कि इस कार्यक्रम फ्रोजन नहीं है सुनिश्चित करने के लिए उपयोग करते हैं. सिद्धांत रूप में उनके मुद्रित किया जा रहा नाम की एक सतत स्ट्रीम किया जाना चाहिए>

); ( "$ करने के लिए प्रतिध्वनित <br/>");

)

)




?>

कोड का यह बिट () समारोह में php मेल का लाभ लेता है. यह एक बहुत शक्तिशाली और समारोह का उपयोग करने के लिए आसान है. याद रखें कि महान शक्ति के साथ महान जिम्मेदारी आती है. बुराई के लिए इस समारोह का उपयोग करने के लिए नहीं की कोशिश करें.

कैसे जहाँ आपके आगंतुकों भौगोलिक दृष्टि से php का उपयोग कर रहे हैं बताने के लिए

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

यदि आप एक वेबसाइट है और कहाँ आपके उपयोगकर्ताओं भौगोलिक दृष्टि से php और नाशपाती यह संभव बनाने के आ रहे हैं बताना चाहता हूँ. एक भौतिक स्थान तुम्हें करना है कि आप इस Net_Geo नाशपाती मॉड्यूल है सुनिश्चित कर रहा है की जरूरत करने जा रहे हैं कि पहली बात में एक अतिथि का IP बारी के लिए. यदि आप 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/> IP: <? Php echo ($ IP);?> <br/>
($geoData[ 'LAT' ]); ?> <br/> अक्षांश: <? Php echo ($ geoData [ 'LAT']);?> <br/>
($geoData[ 'LONG' ]); ?> देशांतर: <? Php echo ($ geoData [ 'लंबी']);?>
<br/>
($geoData[ 'COUNTRY' ]); ?> <br/> देश: <? Php echo ($ geoData [ 'देश']);?> <br/>
($geoData[ 'STATE' ]); ?> <br/> राज्य: <? Php echo ($ geoData [ 'राज्य']);?> <br/>
($geoData[ 'CITY' ]); ?> <br/> शहर: <? Php echo ($ geoData [ 'सिटी']);?> <br/>

कोड काम में:

IP: 72.14.193.67

अक्षांश: 33,98

देशांतर: -118,45

देश: अमेरिका

राज्य: कैलिफोर्निया

शहर: Marina Del Rey

कैसे एकाधिक चित्रों में एक छवि php का उपयोग कर विभाजित करने के लिए

कार्य में, अगस्त 26, 2008 पर ShortLikeAFox द्वारा php पोस्ट

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

<? php
/ / यह समारोह की एक संख्या में भी समान रूप से कॉलम और पंक्तियाँ आकार की एक छवि विभाजित होगा.
समारोह split_image ($ number_of_rows, $ number_of_cols, $ path_to_image, $ FILE_NAME) (

/ / $ number_of_rows = # तुम चाहते पंक्तियों की;
/ / $ number_of_cols = # तुम चाहते cols की
/ / $ path_to_image = छवि में, जैसे कुछ है the folder: / घर का रास्ता / सामग्री / उपयोगकर्ता नाम / html / सूची / अपलोड /
/ / $ FILE_NAME छवि के = फ़ाइल नाम: archery.jpg, आदि

/ विस्तार के लिए / पार्स पथ
$file_name); $ जानकारी = pathinfo ($ path_to_image. $ FILE_NAME);

/ / हम एक jpeg के साथ काम कर रहे हैं सुनिश्चित करें कि
($info[ 'extension' ]) == ‘jpg’ ) || ( strtolower ($info[ 'extension' ]) == ‘jpeg’ ) ){ ((strtolower ($ अगर जानकारी [ 'एक्सटेंशन']) == '' jpg) | | (strtolower ($ जानकारी [ 'एक्सटेंशन']) == '' jpeg)) (

/ / लोड छवि और छवि आकार मिल
); $ स्रोत = ( "" ($ path_to_image) ($ FILE_NAME) ") imagecreatefromjpeg;
$ width = imagesx ($ स्रोत); / / की चौड़ाई खोजें
$ ऊँचाई = imagesy ($ स्रोत); / / ऊंचाई खोजें
$ segment_width = $ चौड़ाई / $ number_of_cols; / / व्यक्तिगत घटकों की चौड़ाई Determine
$ segment_height = $ ऊँचाई / $ number_of_rows; / / व्यक्तिगत घटकों की ऊंचाई Determine

($ = 0; $ कर्नल <$ से कर्नल number_of_cols; $ के लिए कर्नल + +)
(

पंक्ति = 0 ($ के लिए; $ पंक्ति <$ number_of_rows; $ पंक्ति + +)
(

, $col, $row ); $ fn = sprintf ( "img% 02d_% 02d.jpg", $ कर्नल, $ पंक्ति);
); //I print the image name here, so that the process shows itself as it runs ( "$ fn") प्रतिध्वनित; / / मैं यहाँ है, तो यह है कि यह प्रक्रिया के रूप में खुद को दिखाती छवि को नाम प्रिंट रन
$ im = imagecreatetruecolor ($ segment_width, $ segment_height) @;
imagecopyresized ($ im, $ स्रोत, 0, 0, $ * $ segment_width, $ पंक्ति कर्नल * $ segment_height, $ segment_width, $ segment_height, $ segment_width, $ segment_height);
$ "=" test.jpg फ़ाइल;
/ / इस चित्र सहेजें
, 100 )) //The destination will be something like /home/content/c/h/d/images/$fn (imagejpeg ($ im, "INSERT पर्यटन स्थल के यहाँ", 100)) / / गंतव्य जैसे कुछ / home / सामग्री / c / h / d हो जाएगा / images / $ fn अगर

प्रतिध्वनि ( "किया गया है! <br/>");

)

)

)

)

?>

कैसे शामिल कामकाज php कोड करने के लिए अपने WordPress में पोस्ट

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

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

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

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

कैसे बनाने के लिए प्रयोग करें और गतिशील रूप php के साथ चर नाम

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

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

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

; $ variableName = "कुत्ते $ i";
$ $ variableName = $ i; / / 1, 2, 34, आदि के लिए $ डॉग 34 $ dog2 $ dog1 सेटों ....

)

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

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

; $ variableName = "कुत्ते $ i";
प्रतिध्वनि ( "<br/>");
( "$ variableName प्रतिध्वनित:");
प्रतिध्वनि ($ $ variableName);

)

इस पाश प्रिंट:

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

etc ... सभी रास्ते करने के लिए
dog99: 99

कैसे Intergrate ISBN का उपयोग करने के लिए अपने वेबपेज php के प्रयोग पर

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

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

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

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

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

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

$ 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"; / / अर्नेस्ट हेमिंग्वे के बूढ़े आदमी और सागर के लिए ISBN
$ 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.

?>

कैसे php का उपयोग करते हुए एक ईमेल पते की पुष्टि करने के लिए

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

तो तुम एक प्रयोक्ता के ईमेल पते की पुष्टि की आवश्यकता है? कोई बात नहीं. वहाँ ईमेल पुष्टि की आवश्यकता के लिए कारणों का एक बहुत हैं, और php इसे आसान बना देता है.

ईमेल पुष्टि पूरा किया जा सकता है इन चरणों का है:

  1. क्या तुम उन से (अपने ईमेल पते सहित की आवश्यकता है जो भी जानकारी के लिए उपयोगकर्ता Prompt)
  2. एक डेटाबेस में इस डेटा दें
  3. उपयोगकर्ता एक विशेष पुष्टि कुंजी के साथ एक ईमेल भेजें
  4. एक बार की पुष्टि कुंजी में प्रवेश किया है "" इस डाटाबेस में डाटा अनलॉक.

कैसे यह करने के लिए:

<? php

/ / पहला, है डेटाबेस से कनेक्ट करते हैं

$ USER_NAME = "dbUserName";
$ मेजबान = "dbHost";
$ my_password = "dbPassword";
$ db_name = "dbName";

/ / सर्वर और डेटाबेस का चयन करने के लिए कनेक्ट.
, "$user_name" , "$my_password" ) or die ( "cannot connect to server" ); "मेजबान (" $ mysql_connect, "$ USER_NAME", "$ my_password") या मरने के ( "सर्वर से" ") कनेक्ट नहीं कर सकते हैं;
) or die ( "cannot select DB" ); mysql_select_db ( "$ db_name") या मरने के ( "") DB का चयन नहीं कर सकते;

यदि उपयोगकर्ता के फार्म का है की जरूरत है / / The following लाइन मूलतः पूछते में प्रदर्शित होता है. पढ़ें नीचे एक छोटा सा यदि आप चाहते हैं, जहां चर सेदेखने के लिए

(@ $_GET [ 'first' ] == "no" ) && ! (@ $_GET [ 'confirm' ] == "yes" ){ अगर (! (@ $ _GET [ 'पहली बार'] == "नहीं" ") & &! (@ $ _GET [ 'पुष्टि'] ==" हाँ "") (
/ / चूंकि इस पृष्ठ का पहला प्रदर्शन है और कोई पुष्टि कोड है हम बाहर भरने के लिए उपयोगकर्ता के लिए के फार्म का प्रदर्शन करना चाहिए शामिल है
/ / यह फार्म का केवल एक ही तर्क (उपयोगकर्ता के ईमेल पते) लेता है.
?>

method= "post" action= "index.php?first=no" > <form name= "emailConfirmation" method= "post" action= "index.php?first=no">

<table align="center">
<tr>
<td>
type= "text" id= "email" size= "30" /> ईमेल: <input name= "email" type= "text" id= "email" size= "30" />
</ td>
</ tr>
<tr>
<td align="center">
name= "Submit" value= "Submit" /> <input type= "submit" name= "Submit" value= "Submit" />
</ td>
</ tr>
</ table>
</ फार्म>

<? php

)

/ / यदि इस फॉर्म को भर दिया गया है, हम एक पुष्टि कोड उत्पन्न करने के लिए, एक डेटाबेस में पुष्टि कोड और उपयोगकर्ता को ईमेल डालें, जरूरत है और इस ईमेल पते पर एक ईमेल भेजें.
[ 'first' ] == "no" ){ //if the form has been filled out… elseif (@ $ _GET [ 'पहली बार'] == "नहीं" ") (/ / यदि इस फॉर्म को भर दिया गया है ...

/ / is_valid_email_address नहीं एक वैध php समारोह है. डालें अपने खुद के ईमेल पते की जाँच समारोह यहाँ ...
is_valid_email_address( $_POST [ 'email' ])) अगर (! ($ _POST [ 'ईमेल'])) is_valid_email_address

); मान्य नहीं ( "" क्षमा करें प्रतिध्वनित! आपके द्वारा दर्ज किया गया ईमेल पता है. ");

/ / यदि ईमेल पता मान्य होता है और सुरक्षित ...
और (

]); $ ईमेल = ($ _POST [ 'ईमेल']);
/ / यहाँ एक पुष्टिकरण कोड उत्पन्न करें. यह मैं यह करने के लिए चुनने का रास्ता है, लेकिन वहाँ है कि काम करेंगे असंख्य तरीके हैं.
( rand ())); $ = एमडी 5 CONFIRMATION_CODE ((रैंड ())); uniqid
/ / सब कुछ कम या ज्यादा डाटाबेस में प्रवेश करने के लिए और तब उपयोगकर्ता के लिए एक ईमेल भेज ठीक है
$ क्वेरी = "INSERT जांच emailConfirmationTable (, con_code) user_email मूल्यों ( '$ ईमेल', '$ CONFIRMATION_CODE')";
("Config Error 2223 "); $ परिणाम = mysql_query ($ क्वेरी) या मरने के ( "कॉन्फिग त्रुटि 2223");
/ / ईमेल भेजें
$ करने के लिए = $ ईमेल;
$ विषय = "आपका shortlikeafox उदाहरण पुष्टिकरण"; / / से
$ हैडर = "से: shortlikeafox <info@shortlikeafox.com>";
/ / आपका संदेश
$ संदेश = "आपका Comfirmation लिंक! \ r \ n";
$ संदेश .= "पर क्लिक करने के लिए इस लिंक पर अपने खाते को सक्रिय \ r \ n";
जब भी मैं अपुष्ट ईमेल बाहर सफाई का मन कर रहा है समाप्त होने के साथ $ संदेश .= "यह लिंक (हर हफ्ते या तो) \ r \ n";
$ संदेश .= "http://www.shortlikeafox.com/simple-email-confirmation-example/index.php?confirm=yes&confirmCode = $ CONFIRMATION_CODE \ r \ n";
$ sentmail = मेल ($ $ विषय, $ संदेश, $ हैडर) करने के लिए;

); ( "आपके पुष्टिकरण ईमेल भेज दिया गया है प्रतिध्वनित!");

)

)
/ / यदि उपयोगकर्ता अपनी ईमेल में एक कड़ी से इस स्क्रिप्ट, यह पुष्टि पाया ....
[ 'confirm' ] == "yes" ){ elseif (@ $ _GET [ '' की पुष्टि करें] == "हाँ" ") (
/ / इस confirmCode अपेक्षाकृत का उपयोग करने के लिए सुरक्षित बनाएँ

[ 'confirmCode' ]); $ confirmCode = mysql_real_escape_string (@ $ _GET [ 'confirmCode']);

$ क्वेरी = "चुनें * कहाँ से con_code = '$ emailConfirmationTable confirmCode' और is_confirmed ='0 '";
( "Error 234234" ); $ परिणाम = mysql_query ($ क्वेरी) या मरने के ( "त्रुटि 234234");
$ nrows = mysql_num_rows ($ परिणाम);
1){ ($ nrows == 1) (अगर
$ क्वेरी = "सूचना emailConfirmationTable सेट is_confirmed ='1 'कहाँ con_code =' $ confirmCode '";
( "Config Error 222231231233 " ); $ परिणाम = mysql_query ($ क्वेरी) या मरने के ( "कॉन्फिग त्रुटि 222231231233");
($ परिणाम) अगर
); प्रतिध्वनि ( "ईमेल की पुष्टि!!!");

)
अन्यथा

); ( "") ईमेल की पुष्टि नहीं कर सका प्रतिध्वनित;

)

?>

यह बहुत सूचना को मान्य करने के लिए याद करने के लिए महत्वपूर्ण है कि किसी भी रूप में उपयोगकर्ता आवेषण. मैं, लेकिन ऊपर ईमेल पते का सत्यापन करने के लिए एक समारोह में शामिल नहीं किया था शुरू करने के लिए एक अच्छी जगह Cal Henderson का ईमेल सत्यापन कार्य है यहाँ पाया.

यदि आप कार्रवाई में इस स्क्रिप्ट देखना चाहता हूँ, तुम तो यहाँ कर सकते हैं.

कैसे स्वयं डालें एक समूह के उपयोगकर्ताओं के एक SMF फोरम में करने के लिए php का उपयोग

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

इस ट्यूटोरियल तुम मेरे पोस्ट के साथ परिचित हैं मान लिया गया: कैसे मैन्युअल डालें एक प्रयोक्ता के लिए एक SMF फोरम php का उपयोग में.

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

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

मैं के बारे में सभी मंच में बैंड का रजिस्टर करने के लिए चले गए इस कदम इस तरह से एक छोटा सा गया था:

खुला बैंड डेटाबेस

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

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

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

पकड़ो और उत्पन्न जानकारी प्रयोक्ता डालने के लिए आवश्यक

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

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

)

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

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

समारोह createRandomPassword () (

$ घर का काम = "abcdefghijkmnopqrstuvwxyz023456789";

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

$ i = 0;

$ = "पास;



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

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

$ tmp = substr ($ घर का काम, $ 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 ($ क्वेरी) या मरने के ( "कॉन्फिग त्रुटि 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, "X", strtolower ($ बैंड [$ j]));
($ अगर temp == "X")

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

)
/ / मैं मैं पुराने नाम और पासवर्ड प्रतिध्वनित एक ही कारण के लिए नया नाम प्रतिध्वनित
( "- $ newBand") प्रतिध्वनित;
/ / हम नए बैंड का नाम है .... अब के हम db में डालने के लिए आवश्यकता जानकारी 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 ($ क्वेरी) या मरने के ( "कॉन्फिग त्रुटि 2222343242b");
$ nrows = mysql_num_rows ($ परिणाम);

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

और (

/ / यदि उपयोगकर्ता पहले ही मंचों के लिए साइन अप नहीं है ऐसा करते हैं और एक ईमेल भेज ....
$ क्वेरी = "INSERT जांच 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 ($ क्वेरी) या मरने के ( "कॉन्फिग त्रुटि 2232");

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

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

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

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

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

)

)
)

कैसे स्वयं डालें एक उपयोगकर्ता के लिए एक SMF फोरम में php का उपयोग

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

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

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

मैदान प्रकार बातिल

कुंजी चूक अतिरिक्त
ID_MEMBER mediumint (8) अहस्ताक्षरित NO PRI बातिल 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 डेटाबेस से कनेक्ट

$ मेजबान = "hostname"; / / होस्ट नाम
$ प्रयोक्ता नाम = "उपयोगकर्ता नाम", / / 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 AM

$ क्वेरी = "INSERT में, '$' 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;
$ width = 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) ");
$ width = 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;
$ width = 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 -> छवि फ़ाइल यह इस: / home / सामग्री / उपयोगकर्ता नाम / html / सूची / अपलोड की तरह कुछ लग रहे हो सकता है अंदर है फ़ोल्डर का पथ /
  • $ fname -> फ़ाइल नाम: pic1.gif, johnny.jpg, etc ...
  • $ pathToThumbs -> तुम्हें अंदर तुम ऐसा नहीं होने के लिए थंबनेल छवि चाहते हैं, उस फ़ोल्डर के लिए यह रास्ता एक ही मार्ग के रूप में $ pathToImages होना करने के लिए इस चाहते हैं, क्योंकि थंबनेल छवि की मूल छवि के रूप में एक ही नाम होगा.
  • $ thumbWidth -> चौड़ाई है कि आप पिक्सल में होना करने के लिए थंबनेल चाहते हैं.

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

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