当前位置:  编程技术>php
本页文章导读:
    ▪php实现文件的自动ftp更新      完整代码。 <html> <head> <body> <h1>Mirror update</h1> <?php /** * php ftp自动更新上传文件 * site www. */ //变量设置 $host='192.168.11.12'; $user='ftp_user'; $password='ftp_pwd'; $remot.........
    ▪php 文件上传简单示例      1、upload.html <p>上传一个文件</p> <form action="/blog_article/upload.html" method="post" enctype="multipart/form-data" name="form1" id="form1"> <label> <input name="MAX_FILE_SIZE" type="hidden" value="3000000" /&g.........
    ▪php使用smtp发送邮件的实现代码      完整代码如下。 <?php /** * smtp邮件发送函数 * site www. 使用方法 sendmail('发送地址', '邮件主题', '邮件内容') */ $bfconfig = Array ( 'sitename' => '', //这里填写网站名称 ); $mail = Array (.........

[1]php实现文件的自动ftp更新
    来源: 互联网  发布时间: 2013-12-24

完整代码。

<html>
<head>
<body>
<h1>Mirror update</h1>
<?php
/**
 * php ftp自动更新上传文件
 * site www.
*/
//变量设置
$host='192.168.11.12';
$user='ftp_user';
$password='ftp_pwd';
$remotefile='/pub/files/test.rar';
$localfile='/tmp/files.rar';
//connect to host
$conn=ftp_connect($host);
if(!$conn)
{
 echo 'Error: 无法连接ftp服务器<br/>';
 exit;
}
echo "Connected to $host.<br/>";
@ $result=ftp_login($conn,$user,$password);
  if(!$result)
  {
   echo "Error: 用户 $user 登录失败。<br/>";
   ftp_quit($conn);
   exit;
  }
  echo "login as $user<br/>";
  //check file times to see if an update is required
  echo 'Checking file time....';
  if(file_exists($localfile))
  {
   $localtime=filetime($localfile);
   echo 'Local file last updated';
   echo date('G:i j-M-Y',$localtime);
   echo '<br/>';
  }
  else
     $localtime=0;
    
  $remotetime=ftp_mdtm($conn,$remotefile);// 获取远程文件的修改时间函数
     if (!($remotetime>=0))
     {
      echo 'Can/'t access remote file time.<br/>';
      $remotetime=$localtime+1; //make sure of an update
      
     }
     else
     {
      echo 'Remote file last updated';
      echo date('G:i j-M-Y',$remotetime);
      echo '<br/>';
     }
     if(!($remotetime>$localtime))
     {
      echo 'Local copy is up to date.<br />';
        exit;
     }
     //download file
     echo 'Getting file from server....<br />';
     $fp=fopen($localfile,'w');
     if(!$success=ftp_fget($conn,$fp,$remotefile));
     {
      echo 'Error:Could not download file';
      ftp_quit($conn);
      exit;
     }
     fclose($fp);
     echo "File download successfully";
     //close connection to host
     ftp_quit($conn);

//fget()函数的用法:    
//ftp_get($conn,$localfile,$remotefile);
?>
</body>
</head>
</html>

您可能感兴趣的文章:
php ftp函数应用(范例,ftp类,创建目录函数等)
php自定义ftp类与调用实例
php ftp类(上传、下载、复制、移动等)
仿CodeIgniter的FTP类的实现代码
php实现ftp上传的类与调用示例
php ftp文件上传函数的简单例子
php ftp下载文件的代码一例
php使用ftp下载文件的简单例子
又一个php FTP上传类
php使用ftp函数实现简单上传功能
php使用ftp函数上传文件的简单例子
使用ftp传送、下载、删除文件的三个例子
php使用ftp函数创建目录(生成静态)
php写的ftp文件上传类
php的ftp函数操作实例
无需重新编译php加入ftp扩展的方法


    
[2]php 文件上传简单示例
    来源: 互联网  发布时间: 2013-12-24

1、upload.html

 <p>上传一个文件</p>  
 <form action="/blog_article/upload.html" method="post" enctype="multipart/form-data" name="form1" id="form1">  
   <label>  
   <input name="MAX_FILE_SIZE" type="hidden" value="3000000" />  
   Upload This File: <input name="userfile" type="file" title="文件上传"  />  
   <input type="submit" value="Send File" />  
   </label>  
 </form>  

2、upload.php

<?php 
/**
 * 文件上传代码
 * site www.
*/  
    if($_FILES['userfile']['error']>0)  
    {//首先检查是否有错误  
   echo "错误:";  
   switch ($_FILES['userfile']['error'])  
   {//根据错误的代码来显示不同的错误信息  
   case 1 : echo '上传的文件大小超过了服务器限制的文本大小。';break;  
   case 2 : echo '上传的文件大小超过了HTML表单的最大值。'   ;break;  
   case 3 : echo '文件只上传了一部分,文件不完整。';break;  
   case 4 : echo '没有选择要上传的文件。';break;  
   }  
  exit;  
    }  
    //判定上传文件的类型  
    if($_FILES['userfile']['type']!='text/plain')  
    {  
  echo '错误:文件格式不正确。只能上传文本格式的文件。';  
  exit;  
    }  
    //如果没有任何错误则把文件移动到指定的地方  
    $upfile='/home/www/'.$_FILES['userfile']['name'];  
    $_SESSION["file"] = $upfile;  
    if(is_uploaded_file($_FILES['userfile']['tmp_name']))  
    {//判断是否是通过http post 上传的  
  if(!move_uploaded_file($_FILES['userfile']['tmp_name'],$upfile))  
  {  
   echo '错误:无法把文件移动到指定的位置。';  
   exit;  
  }  
    }  
    else   
    {  
  echo '错误:该文件可能不是从HTTP post 方式上传的:';  
  echo $_FILES['userfile']['name'];  
  exit;  
    
    }  
    echo '文件已成功上传。<br>';  
  //上传成功后,对上传的内容进行浏览。  
   /* 
  $fp=fopen($upfile,'r'); 
  $contents=fread($fp,filesize($upfile)); 
  fclose($fp); 
   $contents=strip_tags()($contents); 
  
   $fp=fopen($upfile,'w'); 
  fwrite($fp,$contents); 
  fclose($fp); 
  echo '上传的文件内如为:<br>'.count($contents); 
  echo '<br>'; 
  echo $contents;*/  
  echo '<br>';  
  //浏览目录内容  
  $current_dir='/home/www/';  
   $dir=opendir($current_dir); //打开需要浏览的目录  
  echo "<p>Upload directory is $current_dir</p>";  
  echo '<p>Directory Listing:</p><ul>';  
  ?>  
 <table width="800" height="26" border="1">  
   <tr>  
  <td>文件名</td>  
  <td>大小</td>  
  <td>文件类型</td>  
  <td>创建日期</td>  
  <td>修改日期</td>  
   </tr>  
  <?php  
  while($file=readdir($dir))  
  {  
   // echo "<li>$file</li>";  
    
 echo"  <tr> <td>" .$file."</td>";  
   $file=$current_dir.$file;  
 echo "<td>".filesize($file)."</td><td>".filetype($file)."</td><td>".date('j F Y H:i',fileatime($file))."</td><td>".date('j F Y H:i',filemtime($file))."</td></tr>";  
  }  
   
 closedir($dir);   
  echo '<pre>';  
  $result=escapeshellarg(system(escapeshellcmd("ls -la $current_dir")));  
  foreach ($result as $line);  
  echo "$line /n";  
  echo "</pre>";  
  echo '<br>';  
  ?>  
 </table>

您可能感兴趣的文章:
php 文件上传简单实例
php 多文件上传的简单例子(入门)
php上传与删除图片的简单范例
php 多图片上传的简单例子(图文)
php普通表单多文件上传的代码
了解PHP文件上传的原理
php简单文件上传的例子


    
[3]php使用smtp发送邮件的实现代码
    来源: 互联网  发布时间: 2013-12-24
完整代码如下。
<?php
/**
 * smtp邮件发送函数
 * site www.
 使用方法 sendmail('发送地址', '邮件主题', '邮件内容')
*/

$bfconfig = Array (
 'sitename' => '', //这里填写网站名称
 );

$mail = Array (
 'state' => 1,
 'server' => 'smtp.abc.com',
 'port' => 25,
 'auth' => 1,
 'username' => 'admin@abc.com',
 'password' => '123456',
 'charset' => 'gbk',
 'mailfrom' => 'admin@abc.com'
 );

function sendmail($mail_to, $mail_subject, $mail_message) {

 global $mail, $bfconfig;

 date_default_timezone_set('PRC');

 $mail_subject = '=?'.$mail['charset'].'?B?'.base64_encode($mail_subject).'?=';
 $mail_message = chunk_split()(base64_encode(preg_replace("/(^|(\r\n))(\.)/", "\1.\3", $mail_message)));

 $headers .= "";
 $headers .= "MIME-Version:1.0\r\n";
 $headers .= "Content-type:text/html\r\n";
 $headers .= "Content-Transfer-Encoding: base64\r\n";
 $headers .= "From: ".$bfconfig['sitename']."<".$mail['mailfrom'].">\r\n";
 $headers .= "Date: ".date("r")."\r\n";
 list($msec, $sec) = explode()(" ", microtime());
 $headers .= "Message-ID: <".date("YmdHis", $sec).".".($msec * 1000000).".".$mail['mailfrom'].">\r\n";

 if(!$fp = fsockopen($mail['server'], $mail['port'], $errno, $errstr, 30)) {
  exit("CONNECT - Unable to connect to the SMTP server");
 }

 stream_set_blocking($fp, true);

 $lastmessage = fgets($fp, 512);
 if(substr($lastmessage, 0, 3) != '220') {
  exit("CONNECT - ".$lastmessage);
 }

 fputs($fp, ($mail['auth'] ? 'EHLO' : 'HELO')." befen\r\n");
 $lastmessage = fgets($fp, 512);
 if(substr($lastmessage, 0, 3) != 220 && substr($lastmessage, 0, 3) != 250) {
  exit("HELO/EHLO - ".$lastmessage);
 }

 while(1) {
  if(substr($lastmessage, 3, 1) != '-' || empty($lastmessage)) {
    break;
   }
   $lastmessage = fgets($fp, 512);
 }

 if($mail['auth']) {
  fputs($fp, "AUTH LOGIN\r\n");
  $lastmessage = fgets($fp, 512);
  if(substr($lastmessage, 0, 3) != 334) {
   exit($lastmessage);
  }

  fputs($fp, base64_encode($mail['username'])."\r\n");
  $lastmessage = fgets($fp, 512);
  if(substr($lastmessage, 0, 3) != 334) {
   exit("AUTH LOGIN - ".$lastmessage);
  }

  fputs($fp, base64_encode($mail['password'])."\r\n");
  $lastmessage = fgets($fp, 512);
  if(substr($lastmessage, 0, 3) != 235) {
   exit("AUTH LOGIN - ".$lastmessage);
  }

  $email_from = $mail['mailfrom'];
 }

 fputs($fp, "MAIL FROM: <".preg_replace("/.*\<(.+?)\>.*/", "\\1", $email_from).">\r\n");
 $lastmessage = fgets($fp, 512);
 if(substr($lastmessage, 0, 3) != 250) {
  fputs($fp, "MAIL FROM: <".preg_replace("/.*\<(.+?)\>.*/", "\\1", $email_from).">\r\n");
  $lastmessage = fgets($fp, 512);
  if(substr($lastmessage, 0, 3) != 250) {
   exit("MAIL FROM - ".$lastmessage);
  }
 }

 foreach(explode(',', $mail_to) as $touser) {
  $touser = trim($touser);
  if($touser) {
   fputs($fp, "RCPT TO: <".preg_replace("/.*\<(.+?)\>.*/", "\\1", $touser).">\r\n");
   $lastmessage = fgets($fp, 512);
   if(substr($lastmessage, 0, 3) != 250) {
    fputs($fp, "RCPT TO: <".preg_replace("/.*\<(.+?)\>.*/", "\\1", $touser).">\r\n");
    $lastmessage = fgets($fp, 512);
    exit("RCPT TO - ".$lastmessage);
   }
  }
 }

 fputs($fp, "DATA\r\n");
 $lastmessage = fgets($fp, 512);
 if(substr($lastmessage, 0, 3) != 354) {
  exit("DATA - ".$lastmessage);
 }

 fputs($fp, $headers);
 fputs($fp, "To: ".$mail_to."\r\n");
 fputs($fp, "Subject: $mail_subject\r\n");
 fputs($fp, "\r\n\r\n");
 fputs($fp, "$mail_message\r\n.\r\n");
 $lastmessage = fgets($fp, 512);
 if(substr($lastmessage, 0, 3) != 250) {
  exit("END - ".$lastmessage);
 }

 fputs($fp, "QUIT\r\n");
}
?>

您可能感兴趣的文章:
php 邮件发送类(smtp方式或mail函数方式)
php smtp发送邮件的函数
php中通过curl smtp发送邮件的例子
php使用Pear的NetMail发送smtp邮件
使用pear:Net_SMTP类发送邮件的例子
linux下php配置smtp发送邮件的方法
php写的smtp邮件发送类


    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3