当前位置: 首页 > 图文教程 > 网络编程 > PHP > 用PHP上传文件和发送邮件

PHP
php面向对象全攻略 (十五) 多态的应用
php面向对象全攻略 (十六) 对象的串行化
php面向对象全攻略 (十七) 自动加载类
PHP parse_url 一个好用的函数
PHP 字符串分割和比较
全世界最小的php网页木马一枚 附PHP木马的防范方法
PHP 日期加减的类,很不错
PHP 日期时间函数的高级应用技巧
PHP获取163、gmail、126等邮箱联系人地址【已测试2009.10.10】
Ha0k 0.3 PHP 网页木马修改版
PHP iconv 函数转gb2312的bug解决方法
关于页面优化和伪静态
使用zend studio for eclipse不能激活代码提示功能的解决办法
PHP 身份验证方面的函数
基于OpenCV的PHP图像人脸识别技术
用mysql触发器自动更新memcache的实现代码
php 数学运算验证码实现代码
PHP网站开发方案实例
PHP教程:挖掘细节提升网站性能
搜索引擎技术核心揭密(PHP)

用PHP上传文件和发送邮件


出处:互联网   整理: 软晨网(RuanChen.com)   发布: 2009-08-14   浏览: 161 ::
收藏到网摘: n/a

一、用php上传文件

1、新知识:

$_FILES:这是一个数组,它可将包含所有关于您上传的文件的信息

如:userfile,名称可随意命名,单引号定界

$_FILES['userfile']['name']
客户端机器文件的原名称。

$_FILES['userfile']['type']
文件的 MIME 类型,需要浏览器提供该信息的支持,例如“image/gif”。

$_FILES['userfile']['size']
已上传文件的大小,单位为字节。

$_FILES['userfile']['tmp_name']
文件被上传后在服务端储存的临时文件名。

$_FILES['userfile']['error']
和该文件上传相关的。['error'] 是在 PHP 4.2.0 版本中增加的

2、一个简单的上传文件程序:

1)先设计一个上传文件表单,注意这里插入的表单对象是文件域。
<form action="17-2.php" method="post" enctype="multipart/form-data" name="form1">
红色部分表示上传文件的一种协议,不能省略。

2)设计的上传文件程序。


设定的的上传目录uploads要事先在ftp上建立,并设置属性为777,编写的程序和这个目录级别是相同的。

3、较复杂的上传文件,能判断上传的文件大小,超过1M不能上传。

请选择文件: 

以下为引用的内容:

<?
$upload_file=$_FILES['upload_file']['tmp_name'];
$upload_file_name=$_FILES['upload_file']['name'];
$upload_file_size=$_FILES['upload_file']['size'];
if($upload_file){
 $file_size_max = 1000*1000;// 1M限制文件上传最大容量(bytes)
 $store_dir = "uploads/";// 上传文件的储存位置
 $accept_overwrite = 1;//是否允许覆盖相同文件
 // 检查文件大小
 if ($upload_file_size > $file_size_max) {
  echo "对不起,你的文件容量大于规定";
  exit;
 }

// 检查读写文件

以下为引用的内容:

 if (file_exists($store_dir . $upload_file_name) && !$accept_overwrite) {
  echo "存在相同文件名的文件";
  exit;
 }

//复制文件到指定目录
 

以下为引用的内容:

if (!move_uploaded_file($upload_file,$store_dir.$upload_file_name)) {
  echo "复制文件失败";
  exit;
 }
}

 echo "<p>你上传了文件:";
echo $_FILES['upload_file']['name'];
echo "<br>";
//客户端机器文件的原名称。

echo "文件的 MIME 类型为:";
echo $_FILES['upload_file']['type'];
//文件的 MIME 类型,需要浏览器提供该信息的支持,例如“image/gif”。
echo "<br>";

echo "上传文件大小:";
echo $_FILES['upload_file']['size'];
//已上传文件的大小,单位为字节。
echo "<br>";

echo "文件上传后被临时储存为:";
echo $_FILES['upload_file']['tmp_name'];
//文件被上传后在服务端储存的临时文件名。
echo "<br>";
$Erroe=$_FILES['upload_file']['error'];
switch($Erroe){
 case 0:
  echo "上传成功";break;
 case 1:
  echo "上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值.";break;
 case 2:
  echo "上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。";break;
 case 3:
  echo "文件只有部分被上传";break;
 case 4:
  echo "没有文件被上传";break;
}
?>

二、发送邮件

在php只要用一个函数就可以实现发送邮件的功能:
mail("收件人地址","主题","正文","From:发件人\r\nReply-to:发件人的地址");

参考程序:

以下为引用的内容:

<?
if($_POST[Submit2]<>""){
 mail("$_POST[dz]","$_POST[zt]","$_POST[nr]","From:$_POST[fj]\r\nReply-to:$_POST[fj]");
}
?>