昔日为PHP

如何发出一个地下电邮使用PHP

张贴 PHP的ShortLikeAFox关于2008年9月19号

所以,你要发送了大量的电子邮件或您想要建立一个程序,可以迅速地改变派遣多大规模的电子邮件。 PHP的使这个容易。 在这个例子中,我将假定你有一个电子邮件地址列表您要发送电子邮件至某。 我也会认为你是维持这一名单在一个数据库中,但此代码可以很容易地进行调整,以便为采用硬编码的电子邮件地址列表或列表来自另一来源。

“ ?的PHP

/ /首先连接到数据库,其中包含的电子邮件地址信息。
$用户= “用户” ;
$东道国= “主机” ;
$密码= “密码” ;
$数据库= “数据库” ;

( "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 。 一定要看看!
此致,
我“ ;

/ /我们已经询问的所有电子邮件地址。 现在我们只需要发送的电子邮件
0 ; $i < $nrows; $i ++ ){ ( $为I = 0 ; $字母i $ nrows ; $一+ + ) (

$行= mysql_fetch_assoc ( $结果) ;
提取物 ( $行) ;
/ /替换$电子邮件,无论栏的电子邮件地址被称为
$到= “ $电子邮件” ;
/ /发送的电子邮件中的每个数据库
如果( 邮件 ( $到, $主题, $消息, $由) ) (

/ /打印的名称,电子邮件已成功发送。 我用这种公正,以确保该计划还没有被冻结。 从理论上讲他们应该是一个稳定的名字正在印制“

); 回声“ $到<br/> ” ) ;




? “

这一些代码利用了PHP的mail ( )函数。 这是一个非常强大和简单易用的功能。 请记住,与大国意味着巨大的责任。 尽量不要使用此功能的罪恶。

如何辨别真假访问者在地理上使用PHP

张贴于PHP的由ShortLikeAFox关于2008年9月13号

如果你有一个网站,并想告诉您的用户都来自地理PHP和PEAR使这成为可能。 翻开客户的IP到物理位置的第一件事,你要需要做的是确保您有Net_Geo梨模块。 如果你没有Net_Geo梨模块,你将不得不使用梨包管理器收购。

如果你不认为你有机会获得梨,因为您的托管包, 检查这个解释如何安装PEAR的帐户上不允许进入默认。 这是书面与GoDaddy共享帐户的想法,而应工作最托管软件包不来的梨成立。

在您Net_Geo包安装,只需要几行代码,以获取地理数据:

“ ?的PHP

); require_once“网/ Geo.php ” ) ;
]; $的IP = $ _SERVER [ ' REMOTE_ADDR ' ] ;
/ / $的IP = “ 64.246.30.37 ” ;
$ firstNetGeo = Net_Geo ( ) ;
$地理数据= $ firstNetGeo , “ getRecord (知识产权) ;

? “

($ip); ?> <br/> IP地址是: “ ? PHP的 回声 (知识产权) ; ? ” <br/>
($geoData[ 'LAT' ]); ?> <br/>纬度: “ ? PHP的 回声 ( $地理数据[ '土地增值税' ] ) ; ? ” <br/>
($geoData[ 'LONG' ]); ?>经度: “ ? PHP的 回声 ( $地理数据[ '龙' ] ) ; ? ”
<br/>
($geoData[ 'COUNTRY' ]); ?> <br/>国家: “ ? PHP的 回声 ( $地理数据[ '国家' ] ) ; ? ” <br/>
($geoData[ 'STATE' ]); ?> <br/>国家: “ ? PHP的 回声 ( $地理数据[ '国' ] ) ; ? ” <br/>
($geoData[ 'CITY' ]); ?> <br/>城市: “ ? PHP的 回声 ( $地理数据[ '市' ] ) ; ? ” <br/>

在代码工作:

IP地址是: 66.249.85.132

纬度: -25.00

经度: 135.00

国家: 1.00

国家:

城市:

如何划分一张图片分成多个图像使用PHP

张贴在职能 PHP的ShortLikeAFox对2008年8月26日

因此,要打破一个大的图像成多个较小的图片吗? 没问题。 这可能看起来像是一个不起眼的问题,而是有多种原因,您要做到这一点。 也许你想创建一个Visual 滑动拼图 或者您运行的是一个独特的WordPress的主题 或者您想要建立一个拼贴某种。 这并不重要,为什么要分裂成更小的图片形象,使这一任务的PHP容易。 下面的例子只处理JPEG文件。 转变职能,以处理其他类型的图像就不会那么难。

“ ?的PHP
/ /此函数将图像分割成若干同样大小的列和行。
功能 split_image ( $ number_of_rows , $ number_of_cols , $ path_to_image , $文件名) (

/ / $ number_of_rows = #你想要的行;
/ / $ number_of_cols = #你想要的列
/ / $ path_to_image =文件夹的路径中的形象,像: /首页/内容/用户名/的HTML /列表/上传/
/ / $文件名=文件名的图片: archery.jpg等

/ /解析路径延长
$file_name); $信息= pathinfo ( $ path_to_image $文件名) ;

/ /确保我们正在处理一个JPEG
($info[ 'extension' ]) == ‘jpg’ ) || ( strtolower ($info[ 'extension' ]) == ‘jpeg’ ) ){ 如果 ( ( 用strtolower ( $信息[ '延长' ] ) == '格式' ) | | ( 用strtolower ( $信息[ '延长' ] ) == '的jpeg ' ) ) (

/ /加载图像并获得图像尺寸
); $来源= imagecreatefromjpeg“ ( $ path_to_image ) ( $文件名) ” ) ;
$宽度= imagesx ( $源) ; / /查找的宽度
$高度= imagesy ( $源) ; / /查找高度
$ segment_width = $宽度/ $ number_of_cols ; / /确定宽度的个人部分
$ segment_height = $高度/ $ number_of_rows ; / /判断的高度,个人部分

( $山口= 0 ; $山口“ $ number_of_cols ; $山口+ + )

( $行= 0 ; $行“ $ number_of_rows ; $行+ + )

, $col, $row ); $新生力量= sprintf“ IMG的% 02d_ % 02d.jpg ” , $山口, $行) ;
); //I print the image name here, so that the process shows itself as it runs 回声“ $新生力量” ) ; / /打印的图片名称,所以这个过程本身,因为它表明运行
$即时= @ imagecreatetruecolor ( $ segment_width , $ segment_height ) ;
imagecopyresized ( $即时通讯, $来源, 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 ( $即时通讯, “插入目的地这里” , 100 ) ) / /目标将类似/首页/内容/炭/小时/天/图像/ $新生力量

回声( “已取得了! <br/> ” ) ;

? “

如何将运行PHP代码在你的WordPress的帖子

张贴在WordPress的PHP的由ShortLikeAFox对2008年8月17号

所以,你希望能够在您的使用PHP WordPress的博客文章和网页。 这是没有问题的。 只是用“ ?的PHP ... ... .. ? ”将成为WordPress的愤怒,除非你安装一个插件第一。 有几个插件有这种说法提供这种能力,但一,我发现的最好的作品是Exec的- PHP的 。要开始使用PHP代码,请执行下列步骤:

  1. 下载Exec的- PHP的
  2. 安装它,就像您任何插件(以上链接和自述文件将引导您通过本)
  3. 如果您正在使用它,你必须关闭WYSIWYG编辑器。 要做到这一点,去用户- “您的个人资料和取消使用可视化编辑器写作时复选框
  4. 开始写PHP代码喜欢你通常会: “ ?的PHP ... 。代码这里? ”

这就是这么简单!

如何创建和使用动态名字的变量用PHP

张贴 PHP的ShortLikeAFox对2008年8月17号

因此,要使用动态变量名在您的代码。 没问题。 比方说,您有100个变量的命名dog0 , dog1 , dog2 , ... 。 , dog98 , dog99 。 您为什么要使用100个变量而不是像这样的数组是超越我,但不要紧,这个例子。 要设置这些变量在快速循环您可以使用下列:

0 ; $i < 100 ; $i ++ ){ ( $为I = 0 ; $字母i 100 ; $一+ + ) (

; $ variableName = “狗$我” ;
$ $ variableName = $一; / /设置$ dog1 1 , $ dog2 2 , $狗34至34 ,等... 。

现在让我们说你想进入所有这些变量。 您可以使用下列:

0 ; $i < 100 ; $i ++ ){ ( $为I = 0 ; $字母i 100 ; $一+ + ) (

; $ variableName = “狗$我” ;
回声( “ <br/> ” ) ;
回声( “ $ variableName : ” ) ;
回声( $ $ variableName ) ;

这回路打印:

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

等...所有的道路
dog99 : 99

如何集成书号访问您的网页上用PHP

张贴 PHP的ShortLikeAFox对2008年8月12号

的ISBN或国际标准图书编号是有用的标识符,可以用来找到有关个别书籍。 如果你想将国际标准书号查找在您的Web应用程序的PHP更可行。

第一步: ISBNdb.com是创造了一个API ,允许用户从网络访问他们的数据库中的ISBN记录。 这是他们自己描述的API :

ISBNdb.com的远程访问应用编程接口( API )的目的是让其他网站和独立应用程序使用的大量的数据收集收集ISBNdb.com自2003年以来。 截止本文件的编写,在2005年7月,该数据包括近一百八十〇点〇 〇 〇万书籍;几乎三万点零零亿图书馆记录;接近100万科目;数以十万计的作者和出版商记录解析出库数据;超过10000000记录的实际和历史价格。

使用此API ,您必须先注册。登记字面秒钟即可完成。 在这之后,您需要建立的一个关键。 键可让您直接进入国际标准书号数据库从您自己的代码。 该网站使ISBNdb.com设立键容易。

第二步:现在您可以开始写代码与数据库中。 请求一个ISBN查找看起来就像这样:

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

您插入您的访问将主要在地方XXXXXX号。 $ isbnQuery将是ISBN号码您感兴趣$ isbnData是一个XML文件。 要访问此数据,您需要让您的代码知道它是什么处理。 像这样将工作:

) ; $ xmlData = @ simplexml_load_file ( $ isbnData ) 或死亡“没有任何文件加载” ) ;

现在,您可以获取单个变量的呼吁与此类似:

]->Title ; $标题= $ xmData , “书目[ 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 , “书目[ 0 ] - ” BookData [ 0 ] - “职称;
]->AuthorsText ; $作者= $ xmlData , “书目[ 0 ] - ” BookData [ 0 ] - “ AuthorsText ;
]->PublisherText ; $出版商= $ xmlData , “书目[ 0 ] - ” BookData [ 0 ] - “ PublisherText ;

); 回声“ $标题<br/> ” ) ;
); 回声“ $作者<br/> ” ) ;
); 回声“ $出版商<br/> ” ) ;

/ /这个例子打印出:
/ /该老人与海
/ /欧内斯特海明威
/ /纽约:布纳平装本小说, 1995年。

? “

如何确认电子邮件地址,使用PHP

张贴 PHP的ShortLikeAFox对2008年8月5日

所以你需要确认用户的电子邮件地址? 没问题。 有很多理由,要求确认电子邮件,和PHP变得非常简单。

电子邮件确认才能完成这些步骤:

  1. 提示使用者无论您需要的信息从他们(包括他们的电子邮件地址)
  2. 输入这个数据库中的数据
  3. 用户发送一封电子邮件,其中特别确认键
  4. “解锁”数据库中的数据,一旦确认键输入。

如何做到这一点:

“ ?的PHP

/ /首先,让我们连接到数据库

$用户名= “ dbUserName ” ;
$东道国= “ dbHost ” ;
$ my_password = “ dbPassword ” ;
$ db_name = “ dbName ” ;

/ /连接到服务器并选择数据库
, "$user_name" , "$my_password" ) or die ( "cannot connect to server" ); mysql_connect“ $主机”“ $用户名”“ $ my_password ”或死亡“无法连接到服务器” ) ;
) or die ( "cannot select DB" ); mysql_select_db“ $ db_name ”或死亡“不能选择数据库” ) ;

/ /下面一行基本要求,如果用户需要的形式显示出来。 读了什么,如果您想看到的变数来自

(@ $_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" />
“ /运输署”
“ /文”
<tr>
<td align="center">
name= "Submit" value= "Submit" /> <input type= "submit" name= "Submit" value= "Submit" />
“ /运输署”
“ /文”
“ /表”
“ /表格”

“ ?的PHP

/ /如果该表已填写了,我们需要生成一个确认码,插入确认码和用户电子邮件到一个数据库,并发送电子邮件的电子邮件地址。
[ 'first' ] == "no" ){ //if the form has been filled out… elseif ( @ $ _GET [ '第一' ] == “不” ) ( / /如果该表已填写了...

/ / is_valid_email_address 不是一个有效的PHP函数。 插入您自己的电子邮件地址校验功能在这里...
is_valid_email_address( $_POST [ 'email' ])) 如果 is_valid_email_address ( 的$ _POST [ '电子邮件' ] ) )

); 回声“对不起!您输入的电子邮件地址是无效的。 ” ) ;

/ /如果该电子邮件地址似乎是可行的和安全的...
其他

]); $电子邮件= ( 的$ _POST [ '电子邮件' ] ) ;
/ /生成一个确认码这里。 这是我选择的方式做到这一点,但也有无数的方法,将工作。
( rand ())); $ confirmation_code = 的MD5uniqid兰特 ()));
/ /一切都或多或少地确定进入数据库,然后发送电子邮件到用户
$查询= “插入emailConfirmationTable ( user_email , con_code )值( ' $电子邮件' , ' $ 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 ”的 ;
邮件寄出= $ ( $到, $主题, $消息, $头) ;

); 回声“给您的确认邮件已发送! ” ) ;


/ /如果用户发现该脚本从一个链接,他的电子邮件,确认... 。
[ 'confirm' ] == "yes" ){ elseif ( @ $ _GET [ '确认' ] == “是” ) (
/ /让confirmCode相对安全使用

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

$查询= “选择*从emailConfirmationTable在哪里con_code = ' $ 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 ” ) ;
如果 ( $结果)
); 回声“电子邮件已确认! ” ) ;


其他的

); 回声“无法确认电子邮件” ) ;

? “

这是非常重要的是要记住的信息,以验证该用户插入任何形式。 我没有包括的功能验证上述电子邮件地址,而是一个良好的开端是加州亨德森的电子邮件验证功能这里找到

如果你想看到这个剧本的行动,您可以在这里。

如何手动插入一组用户到单模光纤论坛使用PHP

张贴于单模光纤(简单机械论坛) PHP的ShortLikeAFox关于2008年7月30号

本教程假定您熟悉我的文章: 如何手动插入用户的单模光纤论坛使用PHP

最近,我面临的挑战是移动800左右乐队从数据库到单模光纤论坛。 本人面临几个问题的动议时,我并不包括在第一篇文章:

  1. 乐队的名字是不能保证是安全的一个字符的字符进入单模光纤数据库。 因此,某种形式的名称修改功能已被雇用。
  2. 乐队没有密码。 因此,某些类型的密码生成需要就业。

我去的步骤关于注册的所有频段的论坛去有点像这样:

打开带数据库

每个 (带) (

生成密码

重命名带“安全”的名称

抓斗并生成所需的信息插入用户

插入乐队到smf_members

发送带电子邮件与密码

信息我可以从带的数据库,是有益的包括: bandName , bandEmail ,并bandWebsite

这是密码生成功能我用( blatently取自totallyphp.co.uk ) :

功能 createRandomPassword ( ) (

$字符= “ abcdefghijkmnopqrstuvwxyz023456789 ” ;

() * 1000000); srand ( (双) microtime中 ( ) * 1000000 ) ;

$为I = 0 ;

$传球= “ ;



( $字母i “ = 7 ) (

33; $ num个= 兰特 ( ) 33 ;

$ tmp的= substr ( $字符, $ num个, 1 ) ;

$传球= $通行证。 $ tmp的;

$一+ + ;



返回 $通过;

在这里创建的密码相对薄弱,但它不够好我的目的。 任何密码生成功能将罚款这里。 我选择了这一个,因为它很容易记住的成员,如果他们选择不改变它。

如何做到这一点:

/ /第一次连接到数据库的乐队
$用户名= “ bandUsername ” ;
$东道国= “ bandHost ” ;
$ mypassword = “ bandPassword ” ;
$ db_name = “ bandDatabase ” ;

("cannot connect to server"); mysql_connect ( “ $主机” , “ $的用户名” , “ $ mypassword ” ) 或死亡 ( “无法连接到服务器” ) ;
("cannot select DB"); mysql_select_db ( “ $ db_name ” ) 或死亡 ( “不能选择数据库” ) ;

/ /现在抓斗所有乐队从数据库
$查询= “选择*从allBands ” ;
$带= mysql_query ( $查询)或死亡( “配置错误2222b ” ) ;
$ userRows = mysql_num_rows ( $带) ;

/ /现在可以连接到光纤分贝
$东道国= “ smfhost ” ; / /主机名称
$用户名= “ smfuser ; / /数据库用户名
$ mypassword = “ smfpassword ” ; / /数据库密码
$ db_name = “ smfdatabase ” ; / /数据库名称

("cannot connect to server"); mysql_connect ( “ $主机” , “ $的用户名” , “ $ mypassword ” ) 或死亡 ( “无法连接到服务器” ) ;
("cannot select DB"); mysql_select_db ( “ $ db_name ” ) 或死亡 ( “不能选择数据库” ) ;

/ / $ vaild_chars将成为一系列允许字符的用户名。 我决定只允许字母和数字。 还有其他的字符,可用于这不会造成问题,但风格的原因,我决定去,只有字母和数字
$ valid_chars = “ abcdefghijklmnopqrstu vwxyz 0 1 2 3 4 5 6 7 8 9 ” ;
$ valid_chars = 爆炸 ( “ ” , $ valid_chars ) ;

/ /现在我们需要遍历每个波段

){ ( $为I = 0 ; $字母i “ $ userRows ; $一+ + ) (

($bands)){ 如果 ( $行= mysql_fetch_assoc ( $乐队) ) (

/ /解带信息
提取物 ( $行) ;
/ /创建一个密码,并为这个乐队
$ realPassword = createRandomPassword ( ) ;
/ /我选择响应bandname和密码的一部分,我的调试,所以我可以看到的功能,因为它的作品
回声 ( “ <br/> $ bandName - $ realPassword ” ) ;
$ newBand = “ ” ;
/ /对于每个信乐队名字我们要看看,看它是否符合有效的字符为valid_chars 。 这不,我们要摆脱它和截断乐队名称
($bandName); $j ++ ){ ( $ j = 0 ; $ j “ strlen ( $ bandName ) ; $ J + +的 ) (

($band[$j])); $气温= str_replace ( $ valid_chars , “ X ”号, 用strtolower ( $波段[ $ j ] ) ) ;
如果 ( $气温==的“ X ” )

$ newBand = $ newBand 。 $波段[ $ j ] ;


/ /我同意的新名称相同的原因,我回声旧名称和密码
回声 ( “ - $ newBand ” ) ;
/ /我们有新乐队的名字... 。 现在让我们先大厦的信息,我们需要插入分贝...
$ memberName = $ newBand ;
$实名= $ newBand ; / /我的真实姓名和会员的名字相同。 乐队可以改变,如果他们想
$电子邮件地址= $ bandEmail ;
$ websiteUrl = $ bandWebsite ; / /由于我带的网站也可能将它们输入
$ websiteTitle = $ newBand ;
$ is_activated = 1 ;
$ ID_POST_GROUP = 4 ;
($memberName).$realPassword); //Password must be encrypted $密码= sha1用strtolower ( $ memberName ) 。 $ realPassword ) ; / /密码必须加密

/ /确保他们不是会员具有相同名称的单模光纤数据库。 我们不希望任何人不小心输入两次
$查询= “选择*从smf_members在哪里memberName = ' $ memberName ' ” ;
("Config Error 2222343242b"); $结果= mysql_query ( $查询) 或死亡 ( “配置错误2222343242b ” ) ;
$ nrows = mysql_num_rows ( $结果) ;

/ /如果发现会员名称是什么也不做
如果 ( $ nrows “ 0 ) ( )

其他(

/ /如果用户是不是已经注册了论坛,这样做并发送电子邮件... 。
$查询= “插入smf_members ( memberName ,实名,电子邮件地址, is_activated , ID_POST_GROUP ,密码, websiteUrl , websiteTitle )值( ' $ memberName ' , ' $实名' , ' $电子邮件地址' , ' $ is_activated ' , ' $ ID_POST_GROUP ' , ' $密码' , ' $ websiteUrl ' , ' $ websiteTitle ' ) “ ;

("Config Error 2232 "); $结果= mysql_query ( $查询) 或死亡 ( “配置错误2232 ” ) ;

/ /现在我们需要发送的电子邮件乐队
$到= $电子邮件地址;
$主题= “您的论坛用户名和密码” ;

/ /从
$标题= “来自:我<me@mysite.com> ” ;

/ /您的邮件
$消息.= “您的登录名和密码,下面列出。您可以随时更改。如果你不想参加我们的论坛,这是没有问题的。从未登录,它就会像没有什么事。 \ r \ N “的;
$消息.= “用户名: $ memberName密码: $ realPassword \ r \ N ”的;

/ /发送电子邮件
邮件寄出= $ ( $到, $主题, $消息, $头) ;
如果 ( $寄出)

回声 ( “ -是的! ” ) ;
/ /这是最后一部分,我们的回声。 的“是! ” 将只印刷如果一封电子邮件被发送。 因此,充分打印的生产线将是这个样子:
/ /亚当争- 4s6vsxag - AdamStrife -是!


如何手动插入一个单模光纤用户使用PHP论坛

张贴于单模光纤(简单机械论坛) PHP的ShortLikeAFox关于2008年7月28日

这个具体的例子是为单模光纤1.1.5 。 我不能保证它会与任何其他版本。

所以你运行简单机械论坛软件和要手动输入用户? 没问题。 我知道这个问题似乎非常具体,但这些想法在这里所说的,能够适应其他类型的论坛和其他数据库驱动的软件包,如WordPress的。 在我们进入究竟如何做到这一点,让我们来看看如何通过简单机械论坛跟踪用户。 在单模光纤的数据库有一个表称为smf_members 。 该smf_members结构看起来像这样:

领域 类型

钥匙 默认 额外
ID_MEMBER mediumint ( 8 )无符号 一氧化氮 革命制度党 auto_increment
memberName varchar ( 80 ) 一氧化氮 MUL
dateRegistered 国际( 10 )未签名 一氧化氮 MUL 0
员额 mediumint ( 8 )无符号 一氧化氮 MUL 0
ID_GROUP smallint ( 5 )未签名 一氧化氮 MUL 0
lngfile tinytext 一氧化氮 MUL
lastLogin 国际( 10 )未签名 一氧化氮 MUL 0
实名 tinytext 一氧化氮
instantMessages smallint ( 5 ) 一氧化氮 0
unreadMessages smallint ( 5 ) 一氧化氮 0
buddy_list 文字 一氧化氮
pm_ignore_list 文字 一氧化氮
messageLabels 文字 一氧化氮
密码 varchar ( 64 ) 一氧化氮
电子邮件地址 tinytext 一氧化氮
personalText tinytext 一氧化氮
性别 tinyint ( 4 )无符号 一氧化氮 0
生日 日期 一氧化氮 MUL 0001-01-01
websiteTitle tinytext 一氧化氮
websiteUrl tinytext 一氧化氮
位置 tinytext 一氧化氮
聊天 tinytext 一氧化氮
目的 varchar ( 16 ) 一氧化氮
varchar ( 32 ) 一氧化氮
的MSN tinytext 一氧化氮
hideEmail tinyint ( 4 ) 一氧化氮 0
showOnline tinyint ( 4 ) 一氧化氮 1
timeFormat varchar ( 80 ) 一氧化氮
签字 文字 一氧化氮
timeOffset 浮动 一氧化氮 0
化身 tinytext 一氧化氮
pm_email_notify tinyint ( 4 ) 一氧化氮 0
karmaBad smallint ( 5 )未签名 一氧化氮 0
karmaGood smallint ( 5 )未签名 一氧化氮 0
usertitle tinytext 一氧化氮
notifyAnnouncements tinyint ( 4 ) 一氧化氮 1
notifyOnce tinyint ( 4 ) 一氧化氮 1
notifySendBody tinyint ( 4 ) 一氧化氮 0
notifyTypes tinyint ( 4 ) 一氧化氮 2
memberIP tinytext 一氧化氮
memberIP2 tinytext 一氧化氮
secretQuestion tinytext 一氧化氮
secretAnswer varchar ( 64 ) 一氧化氮
ID_THEME tinyint ( 4 )无符号 一氧化氮 0
is_activated tinyint ( 3 )未签名 一氧化氮 1
validation_code varchar ( 10 ) 一氧化氮
ID_MSG_LAST_VISIT 国际( 10 )未签名 一氧化氮 0
additionalGroups tinytext 一氧化氮
smileySet varchar ( 48 ) 一氧化氮
ID_POST_GROUP smallint ( 5 )未签名 一氧化氮 MUL 0
totalTimeLoggedIn 国际( 10 )未签名 一氧化氮 0
passwordSalt varchar ( 5 ) 一氧化氮

领域,我们必须注意:

  • memberName -自我Explanitory 。
  • dateRegistered -没有必要,但如果没有填写登记的日期显示为1969年12月31日。 日期保存为一个划时代的时间戳。 不知道如何计算时间戳在你的头上? 没问题。 我用的是免费的发电机这里找到。
  • 实名-应插入。 当我不知道我只是重复memberName这里。
  • 电子邮件地址-自我Explanitory 。
  • is_activated -必须设置为1 ,因为我们手动激活会员。
  • ID_POST_GROUP -我不会撒谎。 我不知道这是什么,但它似乎总是被设置为4 。 所以... 。 我总是将其设置为4 。 不是最好的办法,但是你能做什么呢?
  • 密码-密码你想给新用户。 这是不可能找出如何进入不看的单模光纤文件。 的正确代码加密单模光纤密码数据库看起来像这样:

($memberName).$password) $ passwd文件= sha1用strtolower ( $ memberName ) 。 $密码)

在上面的代码行, $ password是用户的实际密码。

如何做到这一点:

/ /首先,连接到光纤数据库

$东道国= “主机名” ; / /主机名称
$用户名= “用户名” ; / /数据库用户名
$ mypassword = “密码” ; / /数据库密码
$ db_name = “用户名” ; / /数据库名称

("cannot connect to server"); mysql_connect ( “ $主机” , “ $的用户名” , “ $ mypassword ” )或死亡 ( “无法连接到服务器” ) ;
("cannot select DB"); mysql_select_db ( “ $ db_name ” ) 或死亡 ( “不能选择数据库” ) ;

$ memberName = “铁人” ;
$实名= “托尼斯塔克” ;
$电子邮件地址= “ ironMan@ironMan.com ” ;
$ is_activated = 1 ;
$ ID_POST_GROUP = 4 ;

$密码= “ Tony1234 ” ;

($memberName).$password); $密码= sha1用strtolower ( $ memberName ) 。 $密码) ;

$ dateRegistered =一十二万一千六百九十五点一二○万; / / 2008年7月25日凌晨2点

$查询= “插入smf_members ( memberName ,实名,电子邮件地址, is_activated , ID_POST_GROUP ,密码, dateRegistered )值( ' $ memberName ' , ' $实名' , ' $电子邮件地址' , ' $ is_activated ' , ' $ ID_POST_GROUP ' , ' $密码' , ' $ dateRegistered ' ) “ ;
("SMF Error 101.234 "); $结果= mysql_query ( $查询) 或死亡 ( “单模光纤错误101.234 ” ) ;

这就是这么简单!

如何使缩略图使用PHP

张贴在职能 PHP的ShortLikeAFox关于2008年7月22日

所以,你想创建一个缩略图从某一图片...的PHP使这项工作很容易。 我第一次写了以下的功能来处理图像上传到用户的网站我帮忙管理。 上传图片到这个网站可以JPEG文件, pngs ,或图像,所以我不得不写一个函数来处理所有三个。 这个代码是从原来的一个函数发现webcheatsheet.com

如何做到这一点:

功能 createThumbs ( $ pathToImages , $ fname , $ pathToThumbs , $ thumbWidth )

/ /解析路径延长

$信息= pathinfo ( $ pathToImages 。 $ fname ) ;
/ /继续只要这是一个JPEG图像
($info['extension']) == ‘jpeg’) )如果( ( 用strtolower ( $信息[ '延长' ] ) == '格式' ) | | ( 用strtolower ( $信息[ '延长' ] ) == '的jpeg ' ) )

/ /加载图像并获得图像尺寸
$ IMG的= imagecreatefromjpeg ( “ ( $ 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 , $宽度, $高度) ;

/ /保存到文件中缩图
imagejpeg ( $ tmp_img , “ ( $ pathToThumbs ) ( $ fname ) ” ) ;

如果( 用strtolower ( $信息[ '延长' ] ) == '格式' )

/ /加载图像并获得图像尺寸
$ 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 ( $信息[ '延长' ] ) == '巴' )

/ /加载图像并获得图像尺寸
$ IMG的= imagecreatefrompng ( “ ( $ 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 , $宽度, $高度) ;

/ /保存到文件中缩图
imagepng ( $ tmp_img , “ ( $ pathToThumbs ) ( $ fname ) ” ) ;

如何工程

功能createThumbs需要四个月的论点。

  • $ pathToImages - “文件夹的路径的图像文件是以下这可能是这个样子: /首页/内容/用户名/的HTML /列表/上传/
  • $ fname - “文件名: pic1.gif , johnny.jpg等...
  • $ pathToThumbs - “文件夹的路径您想要缩略图是个不想这是相同的路径为$ pathToImages ,因为缩略图将有相同名称的原始图像。
  • $ thumbWidth - “的宽度要小的像素。

一个重要的注意,我要在这里的是,这一职能中的任何地方,而不是文件扩展名检查,以确保图像文件包含任何恶意。 由于档案createThumbs ( )与已上载假定文件已被适当地关注。

的第一件事createThumbs ( )的功能是通话pathinfo ( ) pathinfo ( )休息,部分道路成一个数组。 这是帮助我们,因为我们需要的文件扩展名正确地创建缩略图。 下一步createThumbs ( )检查是否我们正在处理一个JPEG格式。 如果原始文件是一个JPEG createThumbs会创建一个新的形象在原有基础上的形象imagecreatefromjpeg ( ) 下一步是获得的宽度和高度的这种形象( imagesx ( )imagesy ( ) ) $ thumbWidth和使用的比率原始的宽度和高度createThumbs ( )设置了新的宽度和高度的缩略图。 使用这些新的比率createThumbs ( )创建一个“空白”的形象,将是相同的宽度和高度缩图与imagecreatetruecolor ( )imagecopyresized ( )是用来调整图片的大小,然后将其保存在“空白”刚创建。 imagecopyresized ( )似乎是需要很大的参数,但如果你看看真正的文件并不复杂。 现在缩图存在一个真正的彩色图像所有createThumbs需要做的是转换的文件转换成JPEG格式。 为此imagejpeg ( )被称为。

这是如何工作的职能JPEG文件。 有起码的分歧。 pngs和。图像。


« Previous entries