图片 2

php实现的发送带附件邮件类实例_php技巧_脚本之家,CI框架目录结构分析

本文实例陈说了php完毕的发送带附属类小零部件邮件类的章程,是一个老大实用的作用。分享给大家供我们参谋。具体方法如下:

application:具体项目费用目录;

adminconfig.php 那是后台系统中装有文件权限配置。

emailclass.php类文件如下:

system:CI框架代码;

fun.php 那是一个职能函数

subject = $subject; $this->addr_to = $to; $this->smtp_headers = $this->write_smtpheaders; $this->text_body = $this->write_body; $this->text_encoded = $this->attach_file($filename,$downfilename,$mimetype,$mime_filename); $this->mime_headers = $this->write_mimeheaders($filename, $mime_filename); } function attach_file($filename,$downfilename,$mimetype,$mime_filename) { $encoded = $this->encode_file; if  $filename = $mime_filename; $out = "--" . $this->mime_boundary . "n"; $out = $out . "Content-type: " . $mimetype . "; name="$filename";n"; $out = $out . "Content-Transfer-Encoding: base64n"; $out = $out . "Content-disposition: attachment; filename="$downfilename"nn"; $out = $out . $encoded . "n"; $out = $out . "--" . $this->mime_boundary . "--" . "n"; return $out; } function encode_file { if (is_readable { $fd = fopen; $contents = fread($fd, filesize; $encoded = chunk_split(base64_encode; fclose; } return $encoded; } function sendfile() { $headers = $this->smtp_headers . $this->mime_headers; $message = $this->text_body . $this->text_encoded; mail($this->addr_to,$this->subject,$message,$headers); } function write_body { $out = "--" . $this->mime_boundary . "n"; $out = $out . "Content-Type: text/plain; charset="us-ascii"nn"; $out = $out . $msgtext . "n"; return $out; } function write_mimeheaders($filename, $mime_filename) { if  $filename = $mime_filename; $out = "MIME-version: 1.0n"; $out = $out . "Content-type: multipart/mixed; "; $out = $out . "boundary="$this->mime_boundary"n"; $out = $out . "Content-transfer-encoding: 7BITn"; $out = $out . "X-attachments: $filename;nn"; return $out; } function write_smtpheaders { $out = "From: $addr_fromn"; $out = $out . "Reply-To: $addr_fromn"; $out = $out . "X-Mailer: PHP3n"; $out = $out . "X-Sender: $addr_fromn"; return $out; } } /*用法 - 例如:mimetype 为 "image/gif" $mailfile = new CMailFile($subject,$sendto,$replyto,$message,$filename,$mimetype); $mailfile->sendfile(); $subject -- 主题 $sendto -- 收信人地址 $replyto -- 回复地址 $message -- 信件内容 $filename -- 附件文件名 $downfilename -- 下载的文件名 $mimetype -- mime类型 */ ?> 

user_guide:客商手册,和落到实处无关,删掉也不影响

left.php 网址后台根据顾客登陆的ID来加载相对应的法力菜单

Demo示例文件如下:

index.php:唯大器晚成的入口文件,除了这一个文件外别的php文件都不可能直接奉行。

op.php 调用adminconfig.php 暗中同意权限文件

sendfile(); ?>

index.php文件

opsava.php  保存客户权限成一个php文件

深信本文所述对大家php程序设计的上学有肯定的借鉴价值。

index.php是天下无敌的入口文件,里面重要逻辑是define一些常量,最后再require_once
CodeIgniter.php主旨文件。

好了作者们先来看看 fun.php文件呢。

图片 1

 

application目录:

<?
function findsub($keys ,$userid='abc' ) //此函数重要就是为了调用用户的权限信息
{
 include('user/'.$userid.'.php'); 
 foreach($bb as $key=>$submenu)
 {    
  foreach($submenu  as $subkey=>$menuitem)
  {
   if( $subkey == $keys )
   {
    return 1;    
   }
  }  
 }
}
//下面为生成用户的php权限文件
//写入 
function cache_write($name, $var, $values) { 
 $cachefile = 'op/www.hzhuti.com/'.$name.'.php'; 
 $cachetext = "<?phprn".'$'.$var.'='.arrayeval($values)."rn?>"; 
 if(!swritefile($cachefile, $cachetext)) 
 { 
  exit("File: $cachefile write error."); 
 } 
}
//数组转换成字串 
function arrayeval($array, $level = 0) { 
$space = ''; 
 for($i = 0; $i <= $level; $i++) { 
  $space .= "t"; 
 } 
$evaluate = "Arrayn$space(n"; 
$comma = $space; 
 foreach($array as $key => $val) { 
  $key = is_string($key) ? '''.addcslashes($key, ''').''' : $key; 
  $val = !is_array($val) && (!preg_match("/^-?d+$/", $val) || strlen($val) > 12) ? '''.addcslashes($val, ''').''' : $val; 
  if(is_array($val)) { 
   $evaluate .= "$comma$key => ".arrayeval($val, $level + 1); 
  } else { 
   $evaluate .= "$comma$key => $val"; 
  } 
   $comma = ",n$space"; 
 } 
  $evaluate .= "n$space)"; 
  return $evaluate; 
}
//写入文件 
function swritefile($filename, $writetext, $openmod='w') { 
 if(@$fp = fopen($filename, $openmod)) { 
  flock($fp, 2); 
  fwrite($fp, $writetext); 
  fclose($fp); 
  return true; 
 } else { 
  exit("File: $filename write error."); 
  return false; 
 } 
}
?>

文件构造也比较清楚,看目录名就大概知道每一个目录是做什么的:

adminconfig.php 后台权限配置文件,以三个数组方式保留

controllers:控制器

 

models:模块

<?
$menus = array(

  'news' => array(
   'caption'=>'资讯管理',
   'icon'=>'admin/icon_15.gif',
   'sub' => array(
    'newsaddtype' => array('caption' => '分类增加', 'url' => 'news/addtype.php'),
    'newstypemange' => array('caption' => '分类管理', 'url' => 'news/typemange.php'),    
    'newsnewsend' => array('caption' => '发布资讯', 'url' => 'news/newsend.php'),
    'newsnewmange' => array('caption' => '资讯管理', 'url' => 'news/newmange.php'),
    'newscomments' => array('caption' => '评论管理', 'url' => 'news/comments.php'),

   ),
  ),

  'ask' => array(
   'caption'=>'问卷调查',
   'icon'=>'admin/icon_15.gif',
   'sub' => array(
    'voteadmin_subject_add' => array('caption' => '添加投票主题', 'url' => 'vote/admin_subject_add.php'),
    'voteadmin_subject' => array('caption' => '管理投票主题', 'url' => 'vote/admin_subject.php'),
    'voteadmin_title_add' => array('caption' => '添加投票问题', 'url' => 'vote/admin_title_add.php'),
    'voteadmin_title' => array('caption' => '管理投票问题', 'url' => 'vote/admin_title.php'),
    'voteadmin_question_add' => array('caption' => '添加投票答案', 'url' => 'vote/admin_question_add.php'),
    'voteadmin_question' => array('caption' => '管理投票答案', 'url' => 'vote/admin_question.php'),
    'voteadmin_system' => array('caption' => '投票初始配置', 'url' => 'vote/admin_system.php')
   ),
  ),
  'ads' => array(
   'caption'=>'广告管理',
   'icon'=>'admin/icon_15.gif',
   'sub' => array(
    'ada' => array('caption' => '增加广告', 'url' => 'ada.php'),
    'adm' => array('caption' => '广告管理', 'url' => 'adm.php'),   
    'flashadd' => array('caption' => '焦点图广告增加', 'url' => 'flashadd.php'),
    'flashad' => array('caption' => '焦点图广告管理', 'url' => 'flashad.php')
   ),
  ), 


  'mange' => array(
   'caption'=>'系统管理员',
   'icon'=>'admin/icon_15.gif',
   'sub' => array(
    'adminuser' => array('caption' => '管理员添加', 'url' => 'adminuser.php'),
    'modpass' => array('caption' => '密码修改', 'url' => 'modpass.php')    
   ),
  ),
 ); 
?>

views:展示

left.php文件极粗略就是依照客商登入后ID读出权力

图片 2

 

1.    myproduct

<?
$userid = $_SESSION['adminid'];
include("op/admincofig.php");
include("op/ www.hzhuti.com /".$userid.".php");
foreach($bb as $key=>$submenu)
{    
 echo "<tr><td  bgcolor="#D879A7" style="line-height:22px;text-align:center;color:#ffffff;"> nr <font color="#EA6A8D" face="Webdings"></font><b>".$menus[$key]['caption']."</b><br /></td></tr> nr <tr ><td bgcolor="F5E8F1">";
 foreach($submenu  as $subkey=>$menuitem)
 {
  $tmparr = explode("|",$menuitem);
  echo "<font color="#EA6A8D" face="Webdings">4</font><a href='".$tmparr[1]."' target="mainframe">".$tmparr[0]."</a><br> nr";
 }
 echo "</td></tr> nr "; 
}

2.    |—–system                框架程序目录

图片 3

3.        |—–core          框架的基本程序

op.php那些文件正是要调用大家的adminconfig.php文件,然后利用fun.php文件中等学园函授数把提供过来的数码保存成数组如图

4.            |—–CodeIgniter.php  辅导性文件

图片 4

5.            |—–Common.php    加载基类库的公共函数

 

6.            |—–Controller.php    基调整器类:CI_Controller

点击保存大家调用了opsava.php 文件,代码如下

7.            |—–Model.php    基模型类:CI_Model

 

8.            |—–Config.php    配置类:CI_Config

<?
include("op/fun.php");
if( $_POST )
{
 $sarray =  $_POST ;
 cache_write($userid,'bb',$sarray);//写入缓存 
 echo "<script>alert('编辑保存成功!');location='op.php?userid=".$userid."';</script>";
}
?>

9.            |—–Input.php    输入类:CI_Input

封存成功后文件内容如

10.            |—–Output.php    输出类:CI_Output

<?php
$bb=Array
 (
 'member' => Array
  (
  'user_search' => '会员升级管理|user_search.php'
  ),
 'membercy' => Array
  (
  'cyuser_search' => '会员升级管理|cyuser_search.php',
  'cyuser_search5' => '交友会员|cyuser_search.php?grade=5'
  ),
 'userid' => 7,
 'button' => '保存编辑'
 )
?>

11.            |—–URL.php      URL类:CI_URl

那样的话大家的left只要加载
7.php文件就只展览会示这里在的文件,那样一个主干的后台权限就完事了。

12.            |—–Router.php    路由类:CI_Router

原创地址:

13.            |—–Loader.php    加载类:CI_Loader

14.        |—–helpers          协助函数

15.            |—–url_helper.php   
url相关的协助函数,如:成立url的支持函数

16.            |—–captcha_helper.php创建图形验证码的扶植函数

17.            |—–xxx_helper.php    自定义协理函数

18.        |—–libraries        通用类库

19.            |—–Pagination.php    通用分页类库

20.            |—–Upload.php    通用文件上传类库

21.            |—–Image_lib.php 通用图像管理类库

22.            |—–Session.php  通用session类库

23.            |—–Xxx.php      自定义类库

24.        |—–language          语言包

25.        |—–database          数据库操作相关的次第

26.            |—–DB_active_rec.php 快速操作类文件(ActiveRecord卡塔尔(英语:State of Qatar)

27.        |—–fonts        字库

28.

29.    |—–application          项目目录

30.        |—–core          项指标中央程序

31.            |—–MY_Controller.php
扩大焦点基调整器类:CI_Controller

32.        |—–helpers          项指标帮忙函数

33.            |—–MY_url_helper.php
扩展系统url相关的声援函数,如:创设url的补助函数

34.           
|—–MY_captcha_helper.php扩张系统创制图形验证码的赞助函数

35.            |—–url_helper.php   
覆盖种类url相关的支持函数,如:创制url的佑助函数

36.            |—–captcha_helper.php覆盖体系成立图形验证码的支持函数

37.            |—–xxx_helper.php    成立和煦的帮手函数

38.        |—–libraries        通用类库

39.            |—–MY_Pagination.php 扩大系统通用分页类库

40.            |—–MY_Upload.php 扩大系统通用文件上传类库

41.            |—–MY_Image_lib.php  扩展系统通用图像管理类库

42.            |—–MY_Session.php    扩张系统通用session类库

43.            |—–Pagination.php    覆盖连串通用分页类库

44.            |—–Upload.php    覆盖类别通用文件上传类库

45.            |—–Image_lib.php 覆盖体系通用图像管理类库

46.            |—–Session.php  覆盖种类通用session类库

47.            |—–Xxx.php      创立和谐的类库

48.        |—–language          语言包

49.        |—–config            项目有关的安顿

50.            |—–config.php    项目有关的结构文件

51.            |—–database.php  数据库相关的布局文件

52.            |—–autoload.php  设置自动加载类库的布置文件

53.            |—–constants.php 常量配置文件

54.            |—–routes.php    路由布置文件

55.        |—–controllers      调整器目录

56.            |—–admin   
自定义目录,后台调整器文件能够分开到此目录中

57.               
|—–welcome.php调控器文件,世袭CI_Controller,也足以持续MY_Controller

58.                |—–common.php
自定义通用调整器文件,袭承CI_Controller,也得以持续MY_Controller

59.            |—–home     
自定义目录,前台调控器文件能够分歧到此目录中

60.               
|—–welcome.php调整器文件,世襲CI_Controller,也能够一而再MY_Controller

61.                |—–common.php
自定义通用调节器文件,世襲CI_Controller,也足以一而再三回九转MY_Controller

62.            |—–welcome.php 
调控器文件,世襲CI_Controller,也足以一连MY_Controller

63.        |—–models            模型目录

64.            |—–admin    自定义目录,后台模型文件能够分开到此目录中

65.                |—–welcome_model.php 模型文件,世袭CI_Model

66.                |—–common_model.php 
自定义通用模型文件,世袭CI_Model

67.            |—–home      自定义目录,前台模型文件可以划分到此目录中

68.                |—–welcome_model.php 模型文件,世襲CI_Model

69.                |—–common_model.php 
自定义通用模型文件,世袭CI_Model

70.            |—–welcome_model.php 模型文件,世襲CI_Model

71.        |—–views          视图目录

72.            |—–admin     
自定义目录,后台湾TV中心图模板文件能够分开到此目录中

73.                |—–welcome.php
视图模板文件,后缀名可以是.php,也得以是.html等自便后缀

74.               
|—–welcome.html视图模板文件,后缀名能够是.php,也得以是.html等随意后缀

75.                |—–welcome.tpl
视图模板文件,后缀名能够是.php,也得以是.html等随意后缀

76.            |—–home       
自定义目录,前台湾电视机中心图模板文件能够划分到此目录中

77.                |—–welcome.php
视图模板文件,后缀名能够是.php,也足以是.html等大肆后缀

78.               
|—–welcome.html视图模板文件,后缀名可以是.php,也足以是.html等随便后缀

79.                |—–welcome.tpl
视图模板文件,后缀名能够是.php,也得以是.html等跋扈后缀

80.            |—–welcome.php 
视图模板文件,私下认可后缀名称为.php,后缀名也能够是.html等随便后缀

81.            |—–welcome.html 
视图模板文件,后缀名能够是.php,也得以是.html等随便后缀

82.            |—–welcome.tpl     
视图模板文件,后缀名能够是.php,也能够是.html等随便后缀

83.        |—–cache        存放数据或模板的缓存文件

84.        |—–errors            错误提醒模板

85.        |—–hooks       
钩子,在不改换系统大旨文件的功底上扩充系统机能

86.        |—–third_party      第三方库

87.        |—–logs          日志

88.

89.    |—–index.php            入口文件

90.    |—–admin.php            自定义后台入口文件

发表评论