Hur man skickar ut en massa mail via PHP

Publicerad i php av ShortLikeAFox den 19 september 2008

Så du vill skicka ut en massa e-post eller om du vill skapa ett program som snabbt kan ändras för att skicka ut flera massa mail. PHP blir enkelt. I det här exemplet kommer jag att anta att du har en lista med e-postadresser som du vill skicka ett e-postmeddelande till. Jag kommer också att anta att du håller den här listan i en databas, men detta nummer skulle lätt kunna justeras till att använda antingen en hårdkodad e-postadress förteckning eller lista från en annan källa.

<? php

/ / First ansluta till databasen som innehåller e-postadress information.
$ user = "Användare";
$ värd = "host";
$ lösenord = "lösenord";
$ databas = "databas";

( "Couldn’t connect to server" ); $ cxn = mysql_connect ($ värd $ användare, $ password) eller dö ( "Det gick inte att ansluta till servern");
mysql_select_db ($ databas);

/ / Query tabellen som innehåller e-postadresser. Fyll i ditt eget namn här ...
$ query = "SELECT * FROM theEmailAddresses";
( mysql_error ($cxn)); $ result = mysql_query ($ query, $ cxn) eller(mysql_error ($ cxn));
$ nRows = mysql_num_rows ($ resultat);

/ / Vem avsändaren kommer att identifieras som. Du kan sätta in vad du vill här, men det är verkligen inte så etiska för att placera en e-postadress som du inte har kontroll över här.
$ från = "From: me@mydomain.com";
/ / A standard e-ämnesraden
$ Ämne = "Vad är nytt på mydomain.com";
/ / Meddelandet
$ meddelande = "Hej värderade vän,

Vi nu sälja kakor på mydomain.com. Var noga med att kolla upp det!
Med vänliga hälsningar,
mig ";

/ / Vi har redan frågat alla e-postadressen. Nu har vi bara behöver skicka e-post
0 ; $i < $nrows; $i ++ ){ for ($ i = 0; $ i <$ nRows, $ i + +) (

$ row = mysql_fetch_assoc ($ resultat);
extrakt ($ rad);
/ / Ersätt $ e-post med oavsett vilken kolumn med e-postadresser kallas
$ till = "$ e";
/ / Skicka e-post till varje e-post i databasen
if (mail ($ till, $ ärendet, $ meddelande, $ från)) (

/ / Skriv ut namnet på e-postmeddelanden som skickades. Jag använder det här bara att se till att programmet inte har fryst. I teorin sina bör en stadig ström av namn kan tryckas>

); echo ( "$ till <br/>");

)

)




?>

Denna bit av kod tar fördel av php mail ()-funktionen. Detta är ett mycket kraftfullt och enkelt att använda funktionen. Kom ihåg att med stor makt kommer stort ansvar. Försök att inte använda denna funktion för ont.

| Kommentarer

Hur berätta var dina besökare är geografiskt med hjälp av PHP

Publicerad i päron, php av ShortLikeAFox den 13 september 2008

Om du har en webbplats och vill berätta om dina användare kommer från geografiskt PHP och PEAR göra detta möjligt. Om du vill aktivera en gäst IP till en fysisk plats är det första du kommer att behöva göra är att se till att du har den Net_Geo PEAR-modul. Om du inte har Net_Geo PEAR-modul, du kommer att behöva använda PEAR Package Manager för att förvärva den.

Om du inte tror att du har tillgång till PEAR på grund av ditt webbhotell paket, kolla in denna förklaring om hur du installerar PEAR på ett konto som inte tillåter tillgång som standard. Det är skrivet med GoDaddys delade konton i åtanke, men bör fungera för de flesta värd paket som inte kommer med PEAR inrättas.

När du har Net_Geo paket installeras, det tar bara ett par rader kod för att förvärva geografiska data:

<? php

); require_once ( "Net / Geo.php");
]; $ ip = $ _SERVER [ 'REMOTE_ADDR'];
/ / $ ip = "64.246.30.37";
$ firstNetGeo = nya Net_Geo ();
$ geodata = $ firstNetGeo-> getRecord ($ ip);

?>

($ip); ?> <br/> IP: <? Php echo ($ ip);?> <br/>
($geoData[ 'LAT' ]); ?> <br/> Latitud: <? Php echo ($ geografisk [ "LAT"]);?> <br/>
($geoData[ 'LONG' ]); ?> Longitud: <? Php echo ($ geografisk [ 'lång']);?>
<br/>
($geoData[ 'COUNTRY' ]); ?> <br/> Land: <? Php echo ($ geografisk [ "land"]);?> <br/>
($geoData[ 'STATE' ]); ?> <br/> State: <? Php echo ($ geografisk [ 'staten']);?> <br/>
($geoData[ 'CITY' ]); ?> <br/> Stad: <? Php echo ($ geografisk [ 'kommun']);?> <br/>

Koden i arbetet:

IP: 74.125.75.19

Latitud: 33.98

Longitud: -118,45

Land: USA

Stat: California

City: Marina del Rey

| Kommentarer

Lägga till en Cool Tag Cloud till en WordPress-blogg

Publicerad i WordPress genom ShortLikeAFox den 27 aug 2008

Är inte det häftigt? Jag tycker det är coolt. Det är en mycket anpassningsbar tagg moln finns med plugin som heter WP-Cumulus. Få det är så enkelt som att ladda ner den från länken, installera det som en plugin, anpassa det, och lägga till den här raden av kod där du vill att det ska visas: <? Php wp_cumulus_insert ();?>.

Ha kul!

| Kommentarer

Lägga till en innehållsförteckning till en WordPress-blogg

Publicerad i WordPress genom ShortLikeAFox den 27 aug 2008

Så du kör en WordPress blogg och vill lägga till en innehållsförteckning eller sitemap. Inga problem. Ladda ned den Dagon Design webbplatskarta. Jag använder att insticksprogrammet för denna webbplats och det är mycket anpassningsbara för att matcha dina behov. Jag har personligen tyckte att det fungerar bättre än många av de andra sitemap / innehållsförteckning generatorer ute.

| Kommentarer

Hur man dela upp en bild i flera bilder med hjälp av PHP

Publicerad i funktioner, php av ShortLikeAFox den 26 aug, 2008

Så du vill bryta en större bild i flera mindre bilder? Inga problem. Detta kan verka som ett skumt problem, men det finns flera skäl du vill göra detta. Kanske du vill skapa en visuell skjutdörr pussel. Eller kanske du använder en unik WordPress tema. Eller kanske du vill skapa ett collage av något slag. Det spelar ingen större roll varför du vill dela en bild i mindre bild, PHP gör uppgiften lätt. Exemplet nedan endast behandlar JPEG. Ändra funktion för att hantera andra typer av bilder skulle inte vara så svårt.

<? php
/ / Denna funktion kommer att dela upp en bild i ett antal lika stora kolumner och rader.
funktion split_image ($ number_of_rows, $ number_of_cols, $ path_to_image, $ filnamn) (

/ / $ number_of_rows = # rader du vill;
/ / $ number_of_cols = # av cols du vill
/ / $ path_to_image = sökvägen till den mapp bilden är i, något i stil med: / home / innehåll / användarnamn / html / lista / inlagda /
/ / $ filnamn = filnamnet på bilden: archery.jpg, etc.

/ / Analysera sökväg för utbyggnad
$file_name); $ info = pathinfo ($ path_to_image. $ filnamn);

/ / se till att vi har att göra med en jpeg
($info[ 'extension' ]) == ‘jpg’ ) || ( strtolower ($info[ 'extension' ]) == ‘jpeg’ ) ){ if ((strtolower ($ info [ 'förlängning']) == "jpg") | | (strtolower ($ info [ 'förlängning']) == "jpeg")) (

/ / Load image och få bildstorlek
); $ källa = imagecreatefromjpeg ( "($ path_to_image) ($ filnamn)");
$ width = imagesx ($ källa), / / Find bredden
$ height = imagesy ($ källa), / / Find höjden
$ segment_width = $ bredd / $ number_of_cols, / / Bestäm bredden på de enskilda segmenten
$ segment_height = $ höjd / $ number_of_rows, / / Ta reda på höjden på de enskilda segmenten

for ($ col = 0; $ col <$ number_of_cols; $ col + +)
(

for ($ rad = 0; $ rad <$ number_of_rows, $ rad + +)
(

, $col, $row ); $ fn = sprintf ( "img% 02d_% 02d.jpg", $ col, $ row);
); //I print the image name here, so that the process shows itself as it runs echo ( "$ fn"), / / jag skriva ut bilden namn här, så att processen visar sig som det löper
$ im = @ imagecreatetruecolor ($ segment_width, $ segment_height);
imagecopyresized ($ im, $ källa, 0, 0, $ col * $ segment_width, $ row * $ segment_height, $ segment_width, $ segment_height, $ segment_width, $ segment_height);
$ file = "test.jpg";
/ / Spara bilderna
, 100 )) //The destination will be something like /home/content/c/h/d/images/$fn om (imagejpeg ($ im, "Infoga DESTINATION här", 100)) / / Destinationen kommer att vara något i stil med / home / innehåll / c / h / d / images / $ fn

echo ( "har gjorts! <br/>");

)

)

)

)

?>

| Kommentarer

Att inkludera fungerande PHP-kod på din WordPress tjänster

Publicerad i WordPress, php av ShortLikeAFox den 17 aug, 2008

Så du vill kunna använda PHP i din WordPress blogginlägg och sidor. Det är inga problem. Bara med hjälp av <? Php ... ... ..?> Kommer att göra WordPress arg om du inte installera en plugin första. Det finns några plugins där ute som hävdar att erbjuda denna möjlighet, men en som jag har hittat fungerar bäst är Exec-PHP. Om du vill börja använda PHP-kod så här:

  1. Ladda ner Exec-PHP
  2. Installera det som du skulle alla plugin (ovanstående länk och Readme-filen kommer att gå igenom detta)
  3. Om du fortfarande använder det måste du stänga av WYSIWYG redaktör. För att göra detta, gå till Användare -> din profil och avmarkera Använd visuell editor när du skriver kryssrutan
  4. Börja skriva PHP-kod som du normalt skulle: <? Php .... Kod går här?>

Det är allt till det!

| Kommentarer

Skapa och använda dynamiskt namngivna variabler med PHP

Publicerad i php av ShortLikeAFox den 17 aug, 2008

Så du vill använda dynamisk variabel namn i din kod. Inga problem. Låt säga att du har 100 variabler som heter dog0, dog1, dog2, ...., Dog98, dog99. Varför skulle du vill använda 100 variabler så här i stället för en matris är för mig obegripligt, men det spelar ingen roll för detta exempel. Att ställa in dessa variabler i en snabb loop kan du använda följande:

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

; $ VariableName = "hund $ i";
$ $ VariableName = $ i; / / uppsättningar $ dog1 till 1, $ dog2 till 2, $ hund 34 - 34, osv ....

)

Låt säga att du ville få tillgång till alla dessa variabler. Du kan använda följande:

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

; $ VariableName = "hund $ i";
echo ( "<br/>");
echo ( "$ VariableName:");
echo ($ $ VariableName);

)

Denna loop skriver ut:

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

osv ... hela vägen till
dog99: 99

| Kommentarer

Hur man Intergrate ISBN tillgång på dina webbsidor med PHP

Publicerad i php av ShortLikeAFox den 12 aug, 2008

ISBN-nummer eller International Standard Book Numbers är användbara kännetecken som kan användas för att hitta information om enskilda böcker. Om du vill integrera ISBN lookups i din webbläsares ansökningar PHP gör det UPPFYLLBAR.

Steg ett: ISBNdb.com är en har skapat ett API som gör att användare från nätet för att få tillgång till deras databas av ISBN register. Här är deras egen beskrivning av API:

ISBNdb.com är fjärråtkomst Application Programming Interface (API) är utformat för att låta andra webbplatser och fristående program använder den stora insamlingen av data som samlas in av ISBNdb.com sedan 2003. När detta dokument skrivs, i juli 2005, de uppgifter som omfattar nästan 1800000 böcker, nästan 3000000 miljoner bibliotekets register, som ligger nära en miljon frågor, och hundratusentals författare och förläggare register analyseras av bibliotekets uppgifter, mer än 10000000 registrera den faktiska och historiska priser.

Om du vill använda detta API måste du först registrera. Registreringen tar bokstavligen sekunder att slutföra. Efter detta måste du ställa upp på en knapp. Knappar kan du direkt tillgång ISBN databas från din egen kod. Den ISBNdb.com webbplats gör att inrätta nycklar lätt.

Steg två: Nu kan du börja skriva kod för att interagera med databasen. En begäran om ett ISBN lookup kommer att se ut ungefär så här:

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

Du skulle mata in din tillgång knapp i stället för XXXXXX. $ IsbnQuery skulle ISBN-nummer som du är intresserad $ isbnData är en XML-fil. För att komma åt denna information måste du låta din kod vet vad det handlar om. Detta något som kommer att arbeta:

) ; $ xmlData = @ simplexml_load_file ($ isbnData) eller dö ( "ingen fil laddas");

Nu kan du komma åt enskilda variabler med samtal ungefär så här:

]->Title ; $ title = $ xmData-> boklista [0] -> BookData [0] -> Titel;

Här är en komplett fungerande exempel:

<? php

$ Searchquery = "9780684801223", / / I ISBN-nummer för Ernest Hemingway: s gamle och havet
$ isbnData = "http://isbndb.com/api/books.xml?access_key=XXXXXX&index1=isbn&value1 = $ Searchquery" / / Kom ihåg att ersätta XXXXXX med din egen åtkomstnyckel
) ; $ xmlData = @ simplexml_load_file ($ isbnData) eller dö ( "ingen fil laddas");
]->Title ; $ title = $ xmlData-> boklista [0] -> BookData [0] -> Titel;
]->AuthorsText ; $ författare = $ xmlData-> boklista [0] -> BookData [0] -> AuthorsText;
]->PublisherText ; $ publicist = $ xmlData-> boklista [0] -> BookData [0] -> PublisherText;

); echo ( "$ titel <br/>");
); echo ( "$ författare <br/>");
); echo ( "$ förlaget <br/>");

/ / Detta exempel skriver ut:
/ / Den gamle och havet
/ / Ernest Hemingway
/ / New York: Scribner Pocketbok Skönlitteratur, 1995.

?>

| Kommentarer

Hur man hjälper användarna att enkelt bädda in videoklipp på ett SMF webbplats

Publicerad i SMF (Simple Machine Forum) av ShortLikeAFox den 10 aug, 2008

Så du är ansvarig för att upprätta ett Simple Machines Forum på plats, och vill ha ett idiotsäkert sätt att göra det möjligt för användare att bädda in video från populär video webbplatser (YouTube, Google Video, IGN, etc.). Du kan med rätta vara rädd för att ge användarna möjlighet att enkelt använda bädda in kod från de enskilda webbplatser, eftersom Gud vet vad resultatet kommer att bli. Lösningen på detta problem är lika enkelt som kan. Karl Benson skrev en ändring paket som gör video bädda in så enkelt som att klippa ut och klistra in webbadressen till sidan videon visas i. Detta paket fungerar i över 150 webbplatser och kallas AEVAC (Audio Bädda in video / audio-klipp). Den senaste versionen är version 3.1.2 och finns här.

Detta är en mod jag rekommenderar. Används på ett korrekt sätt den har potential att kraftigt minska frekvensen och allvarlighetsgraden av forum administratören huvudvärk.

| Kommentarer

Hur att bekräfta en e-postadress med hjälp av PHP

Publicerad i php av ShortLikeAFox den 5 aug, 2008

Så du behöver en bekräftelse på en användares e-postadress? Inga problem. Det finns många skäl att kräva bekräftelse via e-post, och PHP gör det enkelt.

Bekräftelse via e-post kan fullföljas är här:

  1. Uppmana användaren för all information du behöver från dem (inklusive deras e-postadress)
  2. Input detta i en databas
  3. Skickar användaren ett e-postmeddelande med en bekräftelse viktiga
  4. "Lås upp" data i databasen förrän den bekräftelse som viktiga tas upp.

Hur man gör det:

<? php

/ / Låt oss först ansluta till databasen

$ användarnamn = "dbUserName";
$ värd = "dbHost";
$ my_password = "dbPassword";
$ db_name = "dbname";

/ / Anslut till servern och väljer databas.
, "$user_name" , "$my_password" ) or die ( "cannot connect to server" ); mysql_connect ( "$ host", "$ användarnamn", "$ my_password") eller dö ( "inte kan ansluta till servern");
) or die ( "cannot select DB" ); mysql_select_db ( "$ db_name") eller dö ( "kan inte välja BF");

/ / Följande rad ombeds om användaren måste ha den form som visas. Läs ner lite om du vill se vilka variabler som kommer från

(@ $_GET [ 'first' ] == "no" ) && ! (@ $_GET [ 'confirm' ] == "yes" ){ if (! (@ $ _GET [ 'första'] == "nej") & &! (@ $ _GET [ 'bekräfta'] == "ja") (
/ / Eftersom det är en sida som första skärm och ingen bekräftelse kod ingår vi bör visa form för användaren att fylla i
/ / Denna form tar bara ett argument (användarens e-postadress).
?>

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" /> E-post: <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>
</ form>

<? php

)

/ / Om formuläret har fyllts ut, vi måste skapa en bekräftelse koden sätter du in bekräftelsekod och användarnas e-post i en databas, och skicka ett e-postmeddelande till den e-postadress.
[ 'first' ] == "no" ){ //if the form has been filled out… elseif (@ $ _GET [ 'första'] == "nej") (/ / Om formuläret har fyllts ut ...

/ / is_valid_email_address är inte ett giltigt php funktion. Sätt in din egen e-postadress kontrollera funktionen här ...
is_valid_email_address( $_POST [ 'email' ])) if (! is_valid_email_address ($ _POST [ 'email']))

); echo ( "Sorry! E-postadressen som du angav är inte giltigt.");

/ / Om den e-postadress visas giltig och säker ...
else (

]); $ e = ($ _POST [ 'email']);
/ / Skapa en bekräftelse koden här. Det är så jag väljer att göra det, men det finns otaliga sätt att arbeta.
( rand ())); $ CONFIRMATION_CODE = md5 (uniqid (rand ()));
/ / Allt är mer eller mindre OK att gå in i databasen och sedan skicka ett e-postmeddelande till användaren
$ query = "infoga i emailConfirmationTable (user_email, con_code) värden (" $ e ',' $ CONFIRMATION_CODE ")";
("Config Error 2223 "); $ result = mysql_query ($ query) eller dö ( "Config Error 2223");
/ / Skicka e-post
$ till = $ e;
$ Ämne = "Din shortlikeafox exempel bekräftelse", / / Från
$ rubrik = "från: shortlikeafox <info@shortlikeafox.com>";
/ / Ditt meddelande
$ meddelande = "Din Comfirmation länk! \ r \ n";
$ meddelande .= "Klicka på denna länk för att aktivera ditt konto \ r \ n";
$ meddelande .= "Denna länk med ut när jag känner mig som rensar bort de obekräftade e-post (varje vecka eller så) \ r \ n";
$ meddelande .= "http://www.shortlikeafox.com/simple-email-confirmation-example/index.php?confirm=yes&confirmCode = $ CONFIRMATION_CODE \ r \ n";
$ skickat = mail ($ till, $ ärendet, $ meddelande, $ rubrik);

); echo ( "Din bekräftelse via e-post har skickats!");

)

)
/ / Om användaren hittat det här skriptet från en länk i hans e-post, bekräfta det ....
[ 'confirm' ] == "yes" ){ elseif (@ $ _GET [ 'bekräfta'] == "ja") (
/ / Gör confirmCode relativt säkra att använda

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

$ query = "SELECT * FROM emailConfirmationTable VAR con_code = '$ confirmCode" och is_confirmed ='0' ";
( "Error 234234" ); $ result = mysql_query ($ query) eller dö ( "Fel 234234");
$ nRows = mysql_num_rows ($ resultat);
1){ if ($ nRows == 1) (
$ query = "Uppdatera emailConfirmationTable SET is_confirmed =" 1 "VAR con_code = '$ confirmCode" ";
( "Config Error 222231231233 " ); $ result = mysql_query ($ query) eller dö ( "Config Error 222231231233);
if ($ resultat)
); echo ( "EMAIL bekräftas!");

)
annan

); echo ( "Det gick inte att bekräfta e-post");

)

?>

Det är mycket viktigt att komma ihåg att validera den information som användaren införs i någon form. Jag tog inte med en funktion för e-postadress validering ovan, men ett bra ställe att börja är Cal Henderson e validering funktion hittar du här.

Om du vill visa skriptet i aktion kan du göra det här.

| Kommentarer

«Föregående poster