php文件怎么打开?php文件打开教程

 更新时间:2017年7月6日 23:50  点击:1528
php文件怎么打开?本文详细介绍了php文件打开教程,初学php不知道如何打开php的同学快来看看吧。

什么是php:
PHP,是英文超级文本预处理语言Hypertext Preprocessor的缩写。PHP 是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,被广泛的运用。 
php就是网络上大家常说的后台,用来处理数据库等,很多网站都是用php写的,包括www.baidu.com,www.jb51.net等网站,都是使用php语言写的。我们的文章都是通过php代码上传到服务器数据库中,然后通过php代码生成静态的。
php文件如何打开:
简单一句话php跟txt(文本文档)一样,记事本就可以打开,但看到的就是代码,而不是php执行后的效果了,例如 我们打开test.php代码 因为编码有gbk或utf8格式的,用记事本打开utf8格式的php文件时,当有中文的时间就是出现乱码,所以我们建议用dreameweaver或editplus等支持utf8格式文件的软件打开。(普通用户选择editplus打开即可,因为editplus比较小)
一段php测试代码

 代码如下复制代码
<?php 
for($i=1;$i<=10;$i++){ 
echo $i.'
'; 

echo "www.jb51.net"; 
?> 

但是大家目的往往不是想看到这样的代码,如果想看到执行后的效果,就需要配置php运行环境了。
大家访问的www.111cn.net都是服务器端事先配置好的php运行环境,可能是linux也可能是windows,大家在购买空间的时候问下idc商,问他们是否支持php,要不以后购买了不支持php的空间,也是无法支持php的。
如果大家是本地测试php代码的,大家可以用一些工具例如phpnow等(phpnow安装使用比较简单,安装以后将php文件复制到htdocs目录,在浏览器中输入http://127.0.0.1即可,如果选择了端口需要加入端口http://127.0.0.1:端口号),iis也可以,但需要稍专业的人员来配置。这里我们也为大家提供一下iis php运行环境。前提是您的电脑中有iis,一般默认个人电脑都是没有安装的,支持iis的操作系统一般是 winxp,win2003系统。
如果架设好了php运行环境,在浏览器中输入网址,就可以看到php的运行效果(注:大家在浏览器中输入的网址可能不一样,我们这个是内网ip)
如下图所示:

很多没有基础的朋友,经常会问php文件怎么打开,其实PHP是一个网页脚本,但不同于html xml 标签语言,直接可以通过浏览器打开,需要有PHP运行环境才可以访问和打开文件,如果只是编辑PHP打开文件,只需要用记事本或者通过相关的编辑器如(DW、EclipsePHP、editplus 等)打开编辑即可。

再来介绍PHP是什么,增加点PHP基础知识,PHP,是英文超级文本预处理语言Hypertext Preprocessor的缩写。PHP 是一种 HTML 内嵌式的语言,是一种在服务器端执行的嵌入HTML文档的脚本语言,语言的风格有类似于C语言,被广泛的运用。PHP的另一个含义是:菲律宾比索的标准符号。

我们在学习网站建设的时候,初期接触较多的肯定是HTML语言,动态语言肯定是ASP。但随着网络的发展,以及主机方向的转变,尤其是海外主机较多的还是LINUX系统,WIN系统很少,而且很贵。所以迫使我们也去选择LINUX主机,使用PHP语言的程序。有些朋友提问,PHP语言的网站怎么打开。这个问题其实很简单,不管用什么语言网页,我们都可以用DW或者EDITPLUS或者记事本打开。 
但调试PHP程序不同于ASP这么简单,我们可以直接在PHP空间调试或者安装本地环境,我现在使用的PHPNOW或者WAMPSERVER,都是不错的工具。

本文介绍了forum.php的打开方法,不会的同学可以参考一下。

虚拟空间,网页管理端, 会有一个默认访问页面(找一下,是这个意思,可能会有所不同),内容一般是 index.html index.php之类的, 添加一个forum.php到里面就可以了!

本文详细介绍了php源码的使用方法,不会的同学可以参考一下本文

http://www.skycn.com/soft/13703.html AppServ V2.5.9
AppServ 是 PHP 网页架站工具组合包,泰国的作者将一些网路上免费的架站资源重新包装成单一的安装程序,以方便初学者快速完成架站,AppServ 所包含的软件有:Apache、Apache Monitor、PHP、MySQL、PHP-Nuke、phpMyAdmin。 PHP 5.0.1 Apache 1.3.31 MySQL 4.0.20 Zend Optimizer 2.5.3 phpMyAdmin 2.6.0-rc1 Perl 5.8.4 这是本地配置PPHP一键盘安装包
Discuz! 6.1.0下载地址http://www.comsenz.com/downloads/install
Discuz! 6.1.0 拿这个来说把,一般大家购买的空间FTP目录里有个是WWW目录然后下载Discuz! 6.1.0上传/httpdocs目录,何必你的地址是http://www.discuz.net/那就http://www.discuz.net/install直接安装就可以了 PHP需要mysql空间 一定要在空间商那里把mysql账号和密码要来 安装任何一个开源的PHP都需要MYSQL账号和密码的

php怎么写定时任务?本文详细介绍了PHP定时执行任务的3种方法,不懂的同学可以参考一下。

PHP定时执行的三种方式实现

  • 1、windows 的计划任务

  • 2、linux的脚本程序

  • 3、让web浏览器定时刷新

具体实现
1、windows计划任务

PHP很少在win服务器上跑,具体实现也不再深究,看网上实现的原理大概是写bat脚本,然后让window任务添加执行这个bat脚本。
2、linux 的脚本实现
这里主要使用到crontab这个命令,
使用方式 :

crontab   filecrontab [ -u user ] [ -u user ] { -l | -r | -e }

说明 :

crontab是用来让使用者在固定时间或固定间隔执行程式之用

使用crontab写shell脚本,然后让PHP调用shell,这个是利用linux的特性,应该还不算PHP自身语言的特性

3、PHP实现定时执行计划任务
使用php让浏览器刷新需要解决几个问题
PHP脚本执行时间限制,默认的是30m 解决办法:set_time_limit();或者修改PHP.ini 设置max_execution_time时间(不推荐)
如果客户端浏览器关闭,程序可能就被迫终止,解决办法:ignore_user_abort即使关闭页面依然正常执行
如果程序一直执行很有可能会消耗大量的资源,解决办法使用sleep使用程序休眠一会,然后在执行
PHP定时执行的代码:

<?php

ignore_user_abort();//关掉浏览器,PHP脚本也可以继续执行.

set_time_limit(3000);// 通过set_time_limit(0)可以让程序无限制的执行下去

$interval=5;// 每隔5s运行

  

//方法1--死循环

do{

  echo'测试'.time().'
'

  sleep($interval);// 等待5s 

}while(true);

  

//方法2---sleep 定时执行

  require_once'./curlClass.php'//引入文件

    

  $curl=newhttpCurl();//实例化

  $stime=$curl->getmicrotime();

  for($i=0;$i<=10;$i++){

      

    echo'测试'.time().'
'

    sleep($interval);// 等待5s

      

  }

  ob_flush();

  flush();

  $etime=$curl->getmicrotime();

  echo'


'

  echoround(($etime-stime),4);//程序执行时间

测试的时候发现这个效率并不是很高。

总结:

个人感觉PHP定时执行任务的效率不是很高,建议关于定时执行任务的工作还是交给shell来做吧。

以上就是PHP定时执行任务的3种方法,对于前一篇文章结尾中提到的crontab这个命令,也进行了简单介绍,希望大家能够有所收获。

本文介绍了利用PHP如何实现Socket服务器的教程,不会的同学可以参考一下本文。

socket服务器的工作方式是这样的,不间断地运行以等待客户端的连接。一旦客户端连接上了,服务器就会将它添加到客户名单中,然后开始等待来自客户端的消息。

不要走开,下面是完整的源代码:

 

 代码如下复制代码

// Set time limit to indefinite execution

set_time_limit (0);

  

// Set the ip and port we will listen on

$address='localhost'

$port= 10000;

$max_clients= 10;

  

// Array that will hold client information

$client= Array();

  

// Create a TCP Stream socket

$sock= socket_create(AF_INET, SOCK_STREAM, 0);

// Bind the socket to an address/port

socket_bind($sock,$address,$port)ordie('Could not bind to address');

// Start listening for connections

socket_listen($sock);

  

echo"Waiting for connections...\r\n";

  

// Loop continuously

while(true) {

// Setup clients listen socket for reading

$read[0] =$sock;

for($i= 0;$i<$max_clients;$i++) {

 if(isset($client[$i]['sock']))

  $read[$i+ 1] =$client[$i]['sock'];

}

// Set up a blocking call to socket_select()

if(socket_select($read,$write= NULL,$except= NULL,$tv_sec= 5) < 1)

 continue;

/* if a new connection is being made add it to the client array */

if(in_array($sock,$read)) {

 for($i= 0;$i<$max_clients;$i++) {

  if(empty($client[$i]['sock'])) {

  $client[$i]['sock'] = socket_accept($sock);

  echo"New client connected $i\r\n";

  break;

  }

  elseif($i==$max_clients- 1)

  echo"Too many clients...\r\n";

 }

}// end if in_array

  

// If a client is trying to write - handle it now

for($i= 0;$i<$max_clients;$i++) {// for each client

 if(isset($client[$i]['sock'])) {

  if(in_array($client[$i]['sock'],$read)) {

  $input= socket_read($client[$i]['sock'], 1024);

  if($input== null) {

   echo"Client disconnecting $i\r\n";

   // Zero length string meaning disconnected

   unset($client[$i]);

  }else{

   echo"New input received $i\r\n";

   // send it to the other clients

   for($j= 0;$j<$max_clients;$j++) {

   if(isset($client[$j]['sock']) &&$j!=$i) {

    echo"Writing '$input' to client $j\r\n";

    socket_write($client[$j]['sock'],$input,strlen($input));

   }

   }

   if($input=='exit') {

   // requested disconnect

   socket_close($client[$i]['sock']);

   }

  }

  }else{

  echo"Client disconnected $i\r\n";

  // Close the socket

  socket_close($client[$i]['sock']);

  unset($client[$i]);

  }

 }

}

}// end while

// Close the master sockets

socket_close($sock);

哎呀,乍一看这似乎是一个大工程,但是我们可以先将它分解为几个较小的部分。

第一部分是创建服务器。Lines:2至20。

这部分代码设置了变量、地址、端口、最大客户端和客户端数组。接下来创建socket并将其绑定到我们指定的地址和端口上。

下面我们要做的事情就是执行一个死循环(实际上我们是故意的!)。Lines:22至32。

在这部分代码中我们做的第一步是设置 $read 数组。此数 组包含所有客户端的套接字和我们主服务器的套接字。这个变量稍后会用于select语句:告诉PHP监听来自这些客户端的每一条消息。

socket_select()的最后一个参数告诉我们的服务器在返回值之前最多等待5秒钟。如果它的返回值小于1,那么就表示没有收到任何数据,所以只需要返回循环顶部,继续等待。

脚本的下一个部分,是增加新的客户端到数组中。Lines:33至44。

将新的客户端放置在列表的末尾。检查以确保客户端的数量没有超过我们想要服务器处理的数量。

下面要介绍的代码块相当大,也是服务器的主要部分。当客户端将消息发送到服务器时,就需要这块代码挺身而出来处理。消息可以是各种各样的,断开消息、实际断开——只要是服务器需要处理的消息。Lines:46至末尾。

代码循环通过每个客户端并检查是否收到来自于它们的消息。如果是,获取输入的内容。根据输入来检查这是否是一个断开消息,如果是那就从数组中删除它们,反之,那它就是一个正常的消息,那我们的服务器再次通过所有客户端,并一个一个写信息给他们,跳过发送者。

好了,下面试试创造你自己的聊天服务器吧!

[!--infotagslink--]

相关文章

  • Painter绘制红衣喝酒男水粉画效果教程

    今天小编在这里就来给Painter的这一款软件的使用者们来说一说绘制红衣喝酒男水粉画效果的教程,各位想知道具体绘制步骤的使用者,那么下面就快来跟着小编一起看一看教程...2016-09-14
  • iPhone6怎么激活?两种苹果iPhone6激活教程图文详解

    iPhone6新机需要激活后才可以正常使用,那么对于小白用户来说,iPhone6如何激活使用呢?针对此问题,本文就为大家分别介绍Wifi无线网络激活以及iPhone6连接电脑激活这两种有效的方法,希望本文能够帮助到大家...2022-09-14
  • Photoshop制作雨中野外孤独行走的一头牛海报教程

    今天小编在这里就来给各位photoshop的这一款软件的使用者们来说下制作雨中野外孤独行走的一头牛海报的教程,各位想知道具体制作方法的使用者们,大家就快来看一看小编给...2016-09-14
  • Painter绘制帅气卡通魔法王子漫画教程

    今天小编在这里就来给Painter的这一款软件的使用者们来说一下绘制帅气卡通魔法王子漫画的具体教程,各位想知道绘制步骤的使用者,那么下面就快来跟着小编一起看一看教程...2016-09-14
  • Illustrator鼠绘堆雪人的孩童矢量插画教程

    今天小编在这里就来给各位Illustrator的这一款软件的使用者们来说说鼠绘堆雪人的孩童矢量插画的教程,各位想知道具体绘制方法的使用者们,那么各位就快来跟着小编来看看...2016-09-14
  • php读取zip文件(删除文件,提取文件,增加文件)实例

    下面小编来给大家演示几个php操作zip文件的实例,我们可以读取zip包中指定文件与删除zip包中指定文件,下面来给大这介绍一下。 从zip压缩文件中提取文件 代...2016-11-25
  • 安卓手机app添加支付宝支付开发教程

    支付宝支付在国内算是大家了,我们到处都可以使用支付宝了,下文整理介绍的是在安卓app应用中使用支付宝进行支付的开发例子。 之前讲了一篇博客关与支付宝集成获取...2016-09-20
  • llustrator绘制扁平化风格卡通警察护士空姐肖像教程

    今天小编在这里就来给llustrator的这一款软件的使用者们来说一说绘制扁平化风格卡通警察护士空姐肖像的教程,各位想知道具体绘制步骤的使用者们,那么下面就快来跟着小编...2016-09-14
  • 美图秀秀给照片天空加蓝天白云教程一览

    今天小编在这里就来给美图秀秀的这一款软件的使用者们来说下究竟该怎么给照片天空加蓝天白云的教程,各位想知道具体制作步骤的,那么下面就来跟着小编一起看看吧。 ...2016-09-14
  • Illustrator绘制一个方形的录音机图标教程

    今天小编在这里就来给Illustrator的这一款软件的使用者们来说一下绘制一个方形的录音机图标的教程,各位想知道具体绘制方法的使用者们,那么下面就来看一下小编给大家分...2016-09-14
  • Jupyter Notebook读取csv文件出现的问题及解决

    这篇文章主要介绍了JupyterNotebook读取csv文件出现的问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2023-01-06
  • photoshop简单制作一个搞笑的换脸表情包教程

    今天小编在这里就来给photoshop的这一款软件的使用者们来说一说简单制作一个搞笑的换脸表情包的教程,各位想知道具体制作方法的使用者们,那么大家就快来看一看教程吧。...2016-09-14
  • 美图秀秀让你胸丰满起来处理教程

    今天小编在这里就来给美图秀秀的这一款软件的使用者们来说一下让你胸丰满起来的处理教程,各位想知道具体处理步骤的,那么下面就快来跟着小编一起看一下教程吧。 给...2016-09-14
  • photoshop给手绘画调色变换场景后期教程

    今天小编在这里就来给各位photoshop的这一款软件的使用者们来说说给手绘画调色变换场景的后期教程,各位想知道具体后期处理步骤的使用者们,那么大家就快来跟着小编来看...2016-10-02
  • Painter绘制雷神传插画教程

    今天小编在这里就来给Painter的这一款软件的使用者们来说一下绘制雷神传插画的教程,各位想知道具体绘制步骤的使用者,那么下面就快来跟着小编一起看看绘制方法吧。 ...2016-09-14
  • Photoshop打开PSD文件空白怎么解决

    有时我们接受或下载到的PSD文件打开是空白的,那么我们要如何来解决这个 问题了,下面一聚教程小伙伴就为各位介绍Photoshop打开PSD文件空白解决办法。 1、如我们打开...2016-09-14
  • 解决python 使用openpyxl读写大文件的坑

    这篇文章主要介绍了解决python 使用openpyxl读写大文件的坑,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2021-03-13
  • C#实现HTTP下载文件的方法

    这篇文章主要介绍了C#实现HTTP下载文件的方法,包括了HTTP通信的创建、本地文件的写入等,非常具有实用价值,需要的朋友可以参考下...2020-06-25
  • C#操作本地文件及保存文件到数据库的基本方法总结

    C#使用System.IO中的文件操作方法在Windows系统中处理本地文件相当顺手,这里我们还总结了在Oracle中保存文件的方法,嗯,接下来就来看看整理的C#操作本地文件及保存文件到数据库的基本方法总结...2020-06-25
  • SpringBoot实现excel文件生成和下载

    这篇文章主要为大家详细介绍了SpringBoot实现excel文件生成和下载,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-02-09