PHP打开文件fopen()

2010年02月19日 11:56  |  分类:PHP技术

fopen()函数打开文件

fopen() 函数用于在 PHP 中打开文件。

此函数的第一个参数含有要打开的文件的名称,第二个参数规定了使用哪种模式来打开文件:

<html>

<body>

<?php

$file=fopen(“welcome.txt”,”r”);

?>

</body>

</html>

文件可能通过下列模式来打开:

模式 描述
r 只读。在文件的开头开始。
r+ 读/写。在文件的开头开始。
w 只写。打开并清空文件的内容;如果文件不存在,则创建新文件。
w+ 读/写。打开并清空文件的内容;如果文件不存在,则创建新文件。
a 追加。打开并向文件文件的末端进行写操作,如果文件不存在,则创建新文件。
a+ 读/追加。通过向文件末端写内容,来保持文件内容。
x 只写。创建新文件。如果文件以存在,则返回 FALSE。
x+ 读/写。创建新文件。如果文件已存在,则返回 FALSE 和一个错误。注释:如果 fopen() 无法打开指定文件,则返回 0 (false)。

关闭文件:fclose()

fclose($file);

原创文章,转载请注明: 转载自长沙营销型网站建设,营销型网站开发,Zen-Cart | 小龙包

本文链接地址: PHP打开文件fopen()

PHP的FTP操作函数总结

2010年02月19日 11:48  |  分类:PHP技术

PHP的FTP操作函数
 ftp_connect: 打开 FTP 链接。
  ftp_login: 登入 FTP 服务器。
  ftp_pwd: 取得目前所在路径。
  ftp_cdup: 回上层目录。
  ftp_chdir: 改变路径。
  ftp_mkdir: 建新目录。
  ftp_rmdir: 删除目录。
  ftp_nlist: 列出指定目录中所有文件。
  ftp_rawlist: 详细列出指定目录中所有文件。
  ftp_systype: 显示服务器系统。
  ftp_pasv: 切换主被动传输模式。
  ftp_get: 下载文件。
  ftp_fget: 下载文件,并存在已开的档中。
  ftp_put: 上传文件。
  ftp_fput: 上传已打开文件。
  ftp_size: 获得指定文件的大小。
  ftp_mdtm: 获得指定文件的最后修改时间。
  ftp_rename: 将文件改名。
  ftp_delete: 将文件删除。
  ftp_quit: 关闭 FTP 连接。

  ftp_connect 打开 FTP 链接。
  语法: int ftp_connect(string host, int [port]);
  返回值: 整数
  函数种类: 网络系统
  内容说明: 本函数可打开 FTP 服务器的链接。参数 host 为 FTP 服务器的网址。参数 port 通常省略,若 FTP 服务器的埠号 (port) 不是 21 时才需要加本参数。若无错误则返回连接代码,失败则返回 false 值。
  参考: ftp_quit()

  ftp_login 登入 FTP 服务器。
  语法: boolean ftp_login(int ftp_stream, string username, string password);
  返回值: 布尔值
  函数种类: 网络系统
 内容说明: 本函数可登入已链接的 FTP 服务器。参数 ftp_stream 为 FTP 的连接代码。参数 username 及 password 分别为服务器的使用者帐号及密码,通常 anonymous 为公开的使用帐号,密码则为 Email。成功则返回 true 值。

  ftp_pwd 取得目前所在路径。
  语法: string ftp_pwd(int ftp_stream);
  返回值: 字符串
  函数种类: 网络系统
  内容说明: 本函数用来取得目前在 FTP 服务器中的路径。参数 ftp_stream 为 FTP 的连接代码。若有错误则返回 NULL 值。

  ftp_cdup 回上层目录。
  语法: boolean ftp_cdup(int ftp_stream);
  返回值: 布尔值
  函数种类: 网络系统
  内容说明: 本函数用来回到上层目录,也就是目前目录的父目录。参数 ftp_stream 为 FTP 的连接代码。成功则返回 true 值。

  ftp_chdir 改变路径。
  语法: boolean ftp_chdir(int ftp_stream, string directory);
  返回值: 布尔值
  函数种类: 网络系统
 内容说明: 本函数用来改变路径。参数 ftp_stream 为 FTP 的连接代码。参数 directory 为欲前往的目录。成功则返回 true 值,失败则返回 false 值。

  ftp_mkdir 建新目录。
  语法: string ftp_mkdir(int ftp_stream, string directory);
  返回值: 字符串
  函数种类: 网络系统
  内容说明: 本函数用来建立新的目录。参数 ftp_stream 为 FTP 的连接代码。参数 directory 为欲建立的新目录。成功则返回已建立的目录名,失败则返回 false 值。

  ftp_rmdir 删除目录。
  语法: boolean ftp_chdir(int ftp_stream, string directory);
  返回值: 布尔值
  函数种类: 网络系统
  内容说明: 本函数用来删除空目录。参数 ftp_stream 为 FTP 的连接代码。参数 directory 为欲删除的目录。成功则返回 true 值,失败则返回 false 值。

  ftp_nlist 列出指定目录中所有文件。
  语法: array ftp_nlist(int ftp_stream, string directory);
  返回值: 数组
  函数种类: 网络系统
  内容说明: 本函数用来列出指定路径中的所有文件名称。参数 ftp_stream 为 FTP 的连接代码。参数 directory 为指定的目录。成功则返回文件名称的数组,失败则返回 false 值。

  ftp_rawlist 详细列出指定目录中所有文件。
  语法: array ftp_rawlist(int ftp_stream, string directory);
  返回值: 数组
  函数种类: 网络系统
  内容说明: 本函数可详细列出指定路径中的所有文件名称。参数 ftp_stream 为 FTP 的连接代码。参数 directory 为指定的目录。成功则返回文件名称的数组,失败则返回 false 值。

  ftp_systype 显示服务器系统。
  语法: string ftp_systype(int ftp_stream);
  返回值: 字符串
  函数种类: 网络系统
  内容说明: 本函数可显示远端 FTP 服务器的系统,也就等于对 FTP 服务器下 system 或 syst 指令。参数 ftp_stream 为 FTP 的连接代码。成功则返回字符串,如: “215 UNIX Type: L8″,失败则返回 false 值。

  ftp_pasv 切换主被动传输模式。
  语法: boolean ftp_systype(int ftp_stream);
  返回值: 布尔值
  函数种类: 网络系统
  内容说明: 本函数可以切换成主动传输或者被动传输模式,也就等于对 FTP 服务器下 passive 或 pass 指令。参数 ftp_stream 为 FTP 的连接代码。成功则返回 true 值,失败则返回 false 值。

  ftp_get 下载文件。
  语法: boolean ftp_get(int ftp_stream, string local_file, string remote_file, int mode);
  返回值: 布尔值
  函数种类: 网络系统
  内容说明: 本函数用来下载指定的文件。参数 ftp_stream 为 FTP 的连接代码。参数 local_file 为欲存成本地端的文件名。参数 remote_file 为欲下载的文件名。参数 mode 的值有 FTP_ASCII 及 FTP_BINARY 二种,分别表示文字档宁或者是二进位文件。成功则返回 true 值,失败则返回 false 值。

  ftp_fget 下载文件,并存在已开的文件中。
  语法: boolean ftp_fget(int ftp_stream, int fp, string remote_file, int mode);
  返回值: 布尔值
  函数种类: 网络系统
  内容说明: 本函数用来下载指定的文件。参数 ftp_stream 为 FTP 的连接代码。参数 fp 为本地端的已开文件的文件指针。参数 remote_file 为欲下载的文件名。参数 mode 的值有 FTP_ASCII 及 FTP_BINARY 二种,分别表示文字档宁或者是二进位文件。成功则返回 true 值,失败则返回 false 值。

  ftp_put 上传文件。
  语法: boolean ftp_put(int ftp_stream, string remote_file, string local_file, int mode);
  返回值: 布尔值
  函数种类: 网络系统
  内容说明: 本函数用来上传指定的文件。参数 ftp_stream 为 FTP 的连接代码。参数 remote_file 为欲存在远端的文件名。参数 local_file 为欲上传文件的文件名。参数 mode 的值有 FTP_ASCII 及 FTP_BINARY 二种,分别表示文字档宁或者是二进位文件。成功则返回 true 值,失败则返回 false 值。

  ftp_fput 上传已打开文件。
  语法: boolean ftp_fput(int ftp_stream, string remote_file, int fp, int mode);
  返回值: 布尔值
  函数种类: 网络系统
  内容说明: 本函数用来上传指定的文件。参数 ftp_stream 为 FTP 的连接代码。参数 remote_file 为欲存在远端的文件名。参数 fp 为欲上传的已开文件文件指针。参数 mode 的值有 FTP_ASCII 及 FTP_BINARY 二种,分别表示文字档宁或者是二进位文件。成功则返回 true 值,失败则返回 false 值。

  ftp_size 获得指定文件的大小。
  语法: int ftp_size(int ftp_stream, string remote_file);
  返回值: 整数
  函数种类: 网络系统
  内容说明: 本函数用来获取 FTP 服务器上指定文件的大小。参数 ftp_stream 为 FTP 的连接代码。参数 remote_file 为欲获取大小文件名。返回值为文件大小,失败则返回 -1 值。

  ftp_mdtm 获得指定文件的最后修改时间。
  语法: int ftp_mdtm(int ftp_stream, string remote_file);
  返回值: 整数
  函数种类: 网络系统
  内容说明: 本函数用来获取 FTP 服务器上指定文件的最后修改时间。参数 ftp_stream 为 FTP 的连接代码。参数 remote_file 为欲获取修改时间的文件名。返回值为 UNIX 的时间格式 (timestamp),失败则返回 -1 值。

  ftp_rename 将文件改名。
  语法: boolean ftp_rename(int ftp_stream, string from, string to);
  返回值: 布尔值
  函数种类: 网络系统
  内容说明: 本函数可将远端 FTP 服务器的文件改名字,值的 注意的是权限不符时无法改动。参数 ftp_stream 为 FTP 的连接代码。参数 from 为原来的文件名。参数 to 为欲改的新文件名。成功则返回 true 值,失败则返回 false 值。

  ftp_delete 将文件删除。
  语法: boolean ftp_delete(int ftp_stream, string remote_file);
  返回值: 布尔值
  函数种类: 网络系统
  内容说明: 本函数可将远端 FTP 服务器的文件删除,若是权限不符则无法删除。参数 ftp_stream 为 FTP 的连接代码。参数 remote_file 为欲删除的文件名。成功则返回 true 值,失败则返回 false 值。

  ftp_quit 关闭 FTP 连接。
  语法: boolean ftp_quit(int ftp_stream);
  返回值: 布尔值
  函数种类: 网络系统
  内容说明: 本函数用来将远端 FTP 服务器连接关闭。参数 ftp_stream 为 FTP 的连接代码。成功则返回 true 值,失败则返回 false 值。

原创文章,转载请注明: 转载自长沙营销型网站建设,营销型网站开发,Zen-Cart | 小龙包

本文链接地址: PHP的FTP操作函数总结

PHP中Echo与Print的区别

2010年02月19日 11:42  |  分类:PHP技术

在PHP中常用的输出主要由echo和print,还有printf用的比较少一点,其实这几个输出也是有一些区别的,下面简单介绍一下其中的区别。

1.echo:echo可以同时输出多个字符串,并不需要圆括号,echo更像一条语句。

echo()无返回值,与echo命令相同。echo可以有多个参数,无返回值。

2.print:print只可以同时输出一个字符串,需要圆括号。

   print是函数,它的用法个C语言很像,所以会对输出内容里的 %  作特殊解释。

Print还可以这样用:

<?php

print <<<dND

<html xmlns=”http://www.w3.org/1999/xhtml“>

<head>

<meta http-equiv=”Content-Type” content=”text/html; charset=UTF-8″ />

<title>长沙网站设计_长沙网站开发-小龙包</title>

</head>

<body>

<a href=”http://www.shansghayb.com/“>长沙网站设计长沙网站开发</a>

</body>

</html>

dND

?>

这样可以输出大段的HTML,而且不用把里面的引号转义。

print有一个参数,返回值有TRUE,1,false,0;

print()有返回值,当其执行失败的时候(如断线)时返回false;

printf()为格式化输出,sprintf()与之类似,不同的是前者输出到标准输出,后者输出到变量。

原创文章,转载请注明: 转载自长沙营销型网站建设,营销型网站开发,Zen-Cart | 小龙包

本文链接地址: PHP中Echo与Print的区别

PHP创建多层目录

2010年02月19日 11:41  |  分类:PHP技术

网站开发中涉及到得文件下载中的多层目录可以由此函数来建立,代码如下:

<?php
//PHP建立多层目录文件夹,不能建立文件

/**
* 创建用户数据存放目录,如果不存在,一级一级重新创建
* 创建wind文件夹例如 $path=”D:/w1/w2/w3/w4.txt”
* 创建linux文件夹例如 $path=”/home/w1/w2/w3/w4.txt”
*
* @param   string   $path 带文件的文件夹名称
*/

$path = “D:/www/php.ini”;
create_dir($path);

 function create_dir($path)
{
 $dirs=dirname($path);
 if(is_dir($dirs)) return ;
 $dirs = explode(‘/’,$dirs);

 //判断操作系统,linux的话,去除第一项
 if(strpos($path,’/’)===0)
 {
  $dirpath = ‘/’;
  unset($dirs[0]);
 }
 while ($directory = array_shift($dirs))
 {
  $dirpath .=$directory.’/’;
  if(!is_dir($dirpath))
  {
   mkdir($dirpath);
   if(!chmod($dirpath,0777))
   {
    die(‘mkdir fail!!’);
   }
  }
 }
}
 
?>

原创文章,转载请注明: 转载自长沙营销型网站建设,营销型网站开发,Zen-Cart | 小龙包

本文链接地址: PHP创建多层目录

PHP取得和截取字符串长度

2010年02月19日 11:36  |  分类:PHP技术

php取得字符串长度可以用 Strlen()函数,截取字符串长度可以用 Substr()函数。

示例:

<?php
$str = ’sjkdfhsldf’;
$i = strlen($str);
$j = substr($str,0,5);
echo $i ;
echo $j;

?>

输出结果为:10             sjkdf

PHP+MySql实现分页显示

2010年02月19日 11:18  |  分类:PHP技术

 //PHP实现分页显示查询结果集

//条件判断需要改进下,只考虑了2种情况,其他的以后补充,希望高手指教

<form method=”GET” name=”form1″ action=””>
FirstName:<input type=”text” value=”<?php echo $_GET['fname'] ?>” name=”fname” id=”select1″><br>
LastName:<input type=”text” value=”<?php echo $_GET['lname'] ?>” name=”lname” id=”select2″><br>
Age:<input type=”text” value=”<?php echo $_GET['age'] ?>” name=”age” id=”select3″><br>
<input type=”submit” value=”Search” name=””>
</form>
<?php

// 建立数据库连接
//$link = mysql_connect(“localhost”, “mysql_user”, “mysql_password”)
$link = mysql_connect(“localhost”, “root”, “”)
      or die(“Could not connect: ” . mysql_error());
// 获取当前页数
if( isset($_GET['page']) ){
   $page = intval( $_GET['page'] );
}
else{
   $page = 1;
}
// 每页数量
$PageSize = 6;
$page_size = $PageSize;

if(($_GET['fname']==””)&&( $_GET['lname']==””)&&( $_GET['age']==””) )//select all
 {
  $sql1 = “select count(*) as amount from my_db1.person”;
  $sql2 = “select * from my_db1.person order by personID desc limit “. ($page-1)*$page_size .”, $page_size”;
 }elseif(($_GET['fname']!=””)&&( $_GET['lname']==””)&&( $_GET['age']==””)){
  
  
  $sql1 = “select count(*) as amount from my_db1.person  where FirstName= ‘”.$_GET['fname'].”‘”;
  $sql2 = “select * from my_db1.person  where FirstName= ‘”.$_GET['fname'].”‘ order by personID desc limit “. ($page-1)*$page_size .”, $page_size”;
  
  
  //$sql1 = “select count(*) as amount from my_db1.person ” .” where FirstName= ‘ “.$_GET['fname'].” ‘ AND LastName = ‘”.$_GET['lname'].”‘ AND Age = ‘”.$_GET['age'].”‘”;
  //$sql2 = “select * from my_db1.person  where FirstName= ‘ “.$_GET['fname'].” ‘ AND LastName = ‘”.$_GET['lname'].”‘ AND Age = ‘”.$_GET['age'].” ‘ order by personID desc limit “. ($page-1)*$page_size .”, $page_size”;
 echo “$sql1<br>”;echo “$sql2<br>”;
 }elseif (($_GET['fname']!=””)&&( $_GET['lname']==””)&&( $_GET['age']!=””)){
  $sql1 = “select count(*) as amount from my_db1.person ” .” where FirstName= ‘”.$_GET['fname'].”‘AND Age = ‘”.$_GET['age'].”‘”;
  $sql2 = “select * from my_db1.person  where FirstName= ‘”.$_GET['fname'].”‘ AND Age = ‘”.$_GET['age'].” ‘ order by personID desc limit “. ($page-1)*$page_size .”, $page_size”;
 echo “$sql1<br>”;echo “$sql2<br>”;
 }
// 获取总数据量
//$sql = “select count(*) as amount from my_db1.person”;
$sql = $sql1;
$result = mysql_query($sql);
$row = mysql_fetch_array($result);
$amount = $row['amount'];
echo $amount;
echo”<br>”;
// 计算总共有多少页
if( $amount ){
   if( $amount < $page_size ){ $page_count = 1; }               //如果总数据量小于$PageSize,那么只有一页
   if( $amount % $page_size ){                                  //取总数据量除以每页数的余数
       $page_count = (int)($amount / $page_size) + 1;           //如果有余数,则页数等于总数据量除以每页数的结果取整再加一
   }else{
       $page_count = $amount / $page_size;                      //如果没有余数,则页数等于总数据量除以每页数的结果
   }
}
else{
   $page_count = 0;
}

// 翻页链接
$page_string = ”;
if( $page == 1 ){
   $page_string .= ‘第一页|上一页|’;
}
else{
   $page_string .= ‘<a href=?page=1&fname=’.$_GET['fname'].’&age=’.$_GET['age'].’>第一页</a>|<a href=?page=’.($page-1).’&fname=’.$_GET['fname'].’&age=’.$_GET['age'].’>上一页</a>|’;
}
if( ($page == $page_count) || ($page_count == 0) ){
   $page_string .= ‘下一页|尾页’;
}
else{
   $page_string .= ‘<a href=?page=’.($page+1).’&fname=’.$_GET['fname'].’&age=’.$_GET['age'].’>下一页</a>|<a href=?page=’.$page_count.’&fname=’.$_GET['fname'].’&age=’.$_GET['age'].’>尾页</a>’;
}

// 获取数据,以二维数组格式返回结果
if( $amount ){
  // $sql = “select * from my_db1.person order by personID desc limit “. ($page-1)*$page_size .”, $page_size”;
  $sql = $sql2;
  $result = mysql_query($sql);

   echo “<table border=’1′>
<tr>
<th>Firstname</th>
<th>Lastname</th>
<th>Age</th>
</tr>”;//表格输出
   while ( $row = mysql_fetch_row($result) ){
       $rowset[] = $row;
        echo “<tr>”;
  echo “<td>” . $row[1] . “</td>”;
  echo “<td>” . $row[2] . “</td>”;
  echo “<td>” . $row[3] . “</td>”;
  echo “</tr>”;
   }  
echo “</table>”;
}else{
   $rowset = array();
}
echo $page_string;
mysql_close($link);
?>

原创文章,转载请注明: 转载自长沙营销型网站建设,营销型网站开发,Zen-Cart | 小龙包

本文链接地址: PHP+MySql实现分页显示

Pages: Prev 1 2