php文件怎么打开?php文件是什么文件?

 更新时间:2016年11月25日 14:58  点击:1755
php文件怎么打开呢?php全简Hypertext Preprocessor 中文名字为超文本预处理器了,它和c,c++,java,perl一样可以进行一些算法操作,同时php主要是用在web应用开发中,php入门门槛较低,易于学习,使用广泛,主要适用于Web开发领域。PHP的文件后缀名为php了。

php文件是什么文件?


php文件怎么打开呢?php全简Hypertext Preprocessor 中文名字为超文本预处理器了,它和c,c++,java,perl一样可以进行一些算法操作,同时php主要是用在web应用开发中,php入门门槛较低,易于学习,使用广泛,主要适用于Web开发领域。PHP的文件后缀名为php了。

php文件怎么打开?

php文件打开方法很简单我们可以直接使用记事本文本就可以打了,如果是WEB开发应用我们可以使用dw Notepad ++ Eclipse PDT Notepad2等等都可以打开了,这种打开只能查看源文件了无法执行。


php文件怎么运行

前面介绍了php是一款Web开发领域一门编程语言了,我们需要php环境的支持才可以运行哦。

php环境有那些

php可以在windows或linux中运行,在windows中支持环境有iis+php或apache+php环境
linux中我也可以使用apache+php或nginx+php环境

php环境怎么配置

iis+php环境配置方法

1>  解压到 c:/php 目录.

打开 c:/php 目录,找到 php.ini-dist文件.重命名为 php.ini .

2>  打开php.ini 文件.

找到 ;include_path = ".;c:/php/includes" 该行.
修改为 include_path = "c:/php/includes"
找到 extension_dir = "./"
修改为 extension_dir = "c:/php/ext"
找到 ;extension=php_mysql.dll
修改为 extension=php_mysql.dll
找到 ;session.save_path = "/tmp"
修改为 session.save_path = "c:/winnt/temp"
如果操作系统是win2003 则为 "c:/windows/temp"
本目录内提供php.ini可以直接使用.适用windows2000.

3>  拷贝 php.ini到 c:/winnt

  拷贝 libmysql.dll 到 c:/winnt/system32

4>  新建目录d:/forphp做为测试php网站目录.

在该目录下新建记事本文件,重命名为index.php内容为 <? phpinfo(); ?> 本目录内有index.php供使用.

5>  确保Iusr_mochinename用户对d:/forphp有完全控制权限.

对c:/php有读取运行权限.(如果d盘为fat32文件系统格式,就不用设置d:/forphp权限了)

6>  打开iis管理器.

新建web站点.指向到d:/forphp目录.站点主机头任意指定.(为方便浏览,使用本机ip)

7>  右键站点--属性--"主目录"选项.

点下面"配置".弹出"应用程序配置",点"添加".可执行文件,浏览选中 c:/php/php5isapi.dll  确定. 扩展名 写 .php

8>  重起IIS. 即可实现iis站点支持php脚本.

PHP与IIS共存的设置

第一步,解开PHP5.0压缩包,可以把它放在C:/PHP5下面。
 
第二步,把C:/PHP5下面的php.ini-dist文件复制到WINNT目录下,并改名成php.ini。你不需要修改任何参数就可以运行,当然根据不同情况你可以自行修改某些参数。
 
第三步,把C:/PHP5/php5ts.dll复制到C:/WINNT/system32目录下。
 
第四步,启动计算机管理。
 
第五步,在计算机管理窗口上展开“服务和应用程序”/“Internet信息服务”,在“默认Web站点”上点鼠标右键,选属性,这时系统弹出“默认Web站点属性”窗口:
 
第七步,在“默认Web站点属性”窗口上点取“ISAPI筛选器”标签,点击“添加”按钮,在弹出的“筛选器属性”窗口的“筛选器名称”中输入“PHP”,“可执行文件”中输“C:/PHP5/sapi/php5isapi.dll”,确定。
  
第八步,在“默认Web站点属性”窗口上点取“主目录”标签,点“配置”按钮,在弹出的“应用程序配置”窗口中点取“添加”按钮,在弹出的“添加/编辑应用程序扩展名映像”对话框中的“可执行文件”文本框中输入“C:/PHP5/sapi/php5isapi.dll”,“扩展名”文本框中输入“.php”(注意一定要有那个点),确定。
 
第九步,打开命令行窗口,输入“net stop iisadmin”命令,终止IIS服务。系统会问你是否要将相关的服务也停止,答是。等到全部关闭。
 
第十步,输入“net start w3svc”命令,重新启动IIS服务。


apache配置php环境

1.我们在电脑中安装apache环境,
2.然后我们下载php版本之后解压在C:盘php目录下

然后我们在apache紧后面加上

LoadModule php5_module "c:/php5/php5apache2_2.dll"
AddType application/x-httpd-php .php
PHPIniDir "c:/php5"

再重启 apache这样就配置好了

然后我们再创建一个网站把php 文件放到网站目录下就可以运行了,代码如下

<?
define("test","HELLO WORLD!");
echo test
?>

输出为

HELLO WORLD

友情提示,本文章只是大概的介绍了php是什么文件的同时附加了php文件打开与让php运行的一些思路了,具体如果要真正的运行php我们还需要更细的去配置apache环境才可以哦,因为真正应用还有mysql数据库的安装配置哦。

通常我们对于数据遍历会使用到foreach来操作当然也有使用到while list each函数来实现了,但在方便面上来看foreach更简洁好用性能也非常的不错,下面本人整理了一款在开发应用中foreach前后使用例子,希望对大家会有所帮助。

简单的一个php数组函数,之前没这个需要一直都不知道有这么一个函数,擦汗...

php数组逆序输出代码

 代码如下 复制代码
foreach(array_reverse($array) AS $key=>$value){
echo $value.'
';
}

 
array_reverse
(PHP 4, PHP 5)
array_reverse — 返回一个单元顺序相反的数组

说明

array array_reverse ( array $array [, bool $preserve_keys ] )
array_reverse() 接受数组 array 作为输入并返回一个单元为相反顺序的新数组,如果 preserve_keys 为 TRUE 则保留原来的键名。

Example #1 array_reverse() 例子

 代码如下 复制代码

<?php
$input  = array("php", 4.0, array("green", "red"));
$result = array_reverse($input);
$result_keyed = array_reverse($input, TRUE);
?>

这将使 $result 和 $result_keyed 具有相同的单元,但是注意键名的区别。$result 和 $result_keyed 的打印输出显示分别为:
Array
(
    [0] => Array
        (
            [0] => green
            [1] => red
        )

    [1] => 4
    [2] => php
)
Array
(
    [2] => Array
        (
            [0] => green
            [1] => red
        )

    [1] => 4
    [0] => php
)

例子,在PHP模板引擎中

模板文件:

 代码如下 复制代码

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title>{$web_tile}</title>
</head>
<body>
{$article_title}
<br/>
  -- by {$author}
<hr/>
<br/>
{$content}
<br/>
-- publish @ {$time}

<br/>
<br/>
foreach test:

{foreach ( from=url key=b item=c )}
 <a href="index.php?artcle_id={==b}">{==c}</a>
{/foreach}

<br/>

</body>
</html>

解析引擎:

 代码如下 复制代码
// var
  $pattern_var = "/{$left_tag}\\$([\w\d]+){$right_tag}/";
  $replace_var = '<?php echo \$this->var_tpl_arr["$1"];?>';
  
  if (preg_match($pattern_var, $content)) {
   $content = preg_replace($pattern_var, $replace_var, $content);
  }
  
  // foreach
  preg_match_all("/{$left_tag}foreach\s+([^{]+?){$right_tag}/is", $content, $match_foreach);
  if (isset($match_foreach[1]) && is_array($match_foreach)) {
   foreach($match_foreach[1] as $match_key => $match_value) {
    $split_foreachs = array_filter(preg_split('/\s+/is', $match_value));
    $new_foreach_tag = array();
    foreach($split_foreachs as $split_foreach) {
     $split = explode("=", $split_foreach);
     if (count($split == 2)) {
      if(in_array($split[0], array("from","item","key"))) {
//过滤标签 不存在过滤
       $new_foreach_tag[$split[0]] = $split[1];
      }
     }
    }
    
    $from = $key = $item = '';
    extract($new_foreach_tag);
    $key = ($key) ? '$'.$key.' =>' : '' ;
    $replace_foreach = '<?php foreach($this->var_tpl_arr["'.$from.'"] as '.$key.' $'.$item.') { ?>';
    $content = str_replace($match_foreach[0][$match_key], $replace_foreach, $content);
    
   }
  }
  
  $pattern_foreach = "/{$left_tag}\/foreach{$right_tag}/";
  $replace_foreach = "<?php } ?>";
  if (preg_match($pattern_foreach, $content)) {
   $content = preg_replace($pattern_foreach, $replace_foreach, $content);
  }
  
  // var in statement
  $pattern_var = "/{$left_tag}==([\w\d]+){$right_tag}/";
  $replace_var = '<?php echo \$$1;?>';
  
  if (preg_match($pattern_var, $content)) {
   $content = preg_replace($pattern_var, $replace_var, $content);
  }

解析后:

 代码如下 复制代码

<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN" "http://www.w3.org/TR/html4/loose.dtd">
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
<title><?php echo $this->var_tpl_arr["web_tile"];?></title>
</head>
<body>
<?php echo $this->var_tpl_arr["article_title"];?>
<br/>
  -- by <?php echo $this->var_tpl_arr["author"];?>
<hr/>
<br/>
<?php echo $this->var_tpl_arr["content"];?>
<br/>
-- publish @ <?php echo $this->var_tpl_arr["time"];?>

<br/>
<br/>
foreach test:

<?php foreach($this->var_tpl_arr["url"] as $b => $c) { ?>
 <a href="index.php?artcle_id=<?php echo $b;?>"><?php echo $c;?></a>
<?php } ?>

<br/>

</body>
</html>

使用:

 代码如下 复制代码

<?php

require_once 'core/YATP.class.php';

$app = new YATP();
date_default_timezone_set("Asia/Shanghai");
$app->is_cache = false;

$article_title = "yet,it is a simple template engine";
$author = "sanwhiteyu@tencent.com";
$web_tile = "just test ";
$content = "It is easy to write a simple template engine for yourself,what u can do is try to do it!";
$time = date("Y-m-d H:i:s",time());

$url = array(
  "url1"=>"http://www.111cn.net",
  "url2"=>"http://www.111cn.net",
);

$app->assign("article_title",$article_title);
$app->assign("author",$author);
$app->assign("web_tile",$web_tile);
$app->assign("content",$content);
$app->assign("time",$time);
$app->assign("url",$url);
$app->display("index.html");


// end of script

php编程代码规范我们会从几个方法来介绍,如:命名规范 常用名词 代码重构了,下面我先整理一些规范之后再整理一些笔记,希望文章对各位朋友会带来一些帮助哦。

命名规范

Θ 类文件都以.class.php为后缀,使用驼峰法命名,并且首字母大写,例如 Pay.class.php;
Θ 类名和目录_文件名一致。例如:类名Zend_Autoloader的目录是Zend/Autoloader.class.php;
Θ 函数的命名使用小写字母和下划线的方式。例如:get_client_ip;
Θ 方法的命名使用驼峰法,首字母小写或者使用下划线”_”,例如listComment(),_getResource(),通常下划线开头的方法属于私有方法;
Θ 属性的命名使用驼峰法,首字母小写或者使用下划线”_”,如$username,$_instance,通常下划线开头的属性属于私有属性;
Θ 常量以大写字母和下划线”_”命名,如”HOME_URL”;

常用名词

1>list名词(单数),如listApple,一看我们就知道读取苹果列表,我们没有必要写成getApples或者listApples或readApples——因为get我们规定一般用于读取单个数据,如getApple.listApples不加s我们也知道是取苹果列表(保证尽量缩短变量命名);
2>get名词(单数);
3>名词Total,表示某个东西的总数。如expenseTotal;
4>found:表示某个值是否已经找到;
5>uccess或ok:一项操作是否成功;
6>done:某个工程是否完成;
7>error:是否有错误发生;
8>result:返回的结果

代码重构

1.函数或者方法体内的代码尽量控制在一个屏幕内。
2.类中不使用的方法随机删除。
3.修改别人的类中方法,要签名。
4.在每个模块内写个readme文件(用于比较复杂业务的说明或代码说明)。
5.尽量让每个类做自己的事,每个函数做一件事。

下面补充一些方法

一、文件格式

1. 对于只含有 php 代码的文件,我们将在文件结尾处忽略掉 "?>" 。这是为了防止多余的空格或者其它字符影响到代码。
例如:

 代码如下 复制代码
<?php
$foo = 'foo';
2. 缩进应该能够反映出代码的逻辑结果,尽量使用四个空格,禁止使用制表符TAB,因为这样能够保证有跨客户端编程器软件的灵活性。
例如:
if (1 == $x) {
    $indented_code = 1;
    if (1 == $new_line) {
        $more_indented_code = 1;
    }
}

3. 变量赋值必须保持相等间距和排列。
例如:

 代码如下 复制代码
$variable = 'demo';
$var      = 'demo2';

4. 每行代码长度应控制在80个字符以内,最长不超过120个字符。因为 linux 读入文件一般以80列为单位,就是说如果一行代码超过80个字符,那么系统将为此付出额外操作指令。这个虽然看起来是小问题,但是对于追求完美的程序员来说也是值得注意并遵守的规范。
5. 每行结尾不允许有多余的空格。

二、命名约定

1. 类文件都是以“.class.php“为后缀,且类文件名只允许字母,使用驼峰法命名,并且首字母大写,例如:DbMysql.class.php 。
2. 配置和函数等其他类库文件之外的文件一般是分别以“.inc.php“和”.php“为后缀,且文件名命名使用小写字母和下划线的方式,多个单词之间以下 划线分隔,例如config.inc.php , common.php,install_function.php 。
3. 确保文件的命名和调用大小写一致,是由于在类Unix系统上面,对大小写是敏感的。
4. 类名和文件名一致(包括上面说的大小写一致),且类名只允许字母,例如 UserAction类的文件命名是UserAction.class.php, InfoModel类的文件名是InfoModel.class.php 。
5. 控制器类以Action为后缀,例如 UserAction、InfoAction ,模型类以Model为后缀,例如UserModel、InfoModel ,其他类也分别以相应分类为后缀,例如Service 、Widget。
6. 方法名只允许由字母组成,下划线是不允许的,首字母要小写,其后每个单词首字母要大写,即所谓的 “驼峰法命名” 规则,且越详细越好,应该能够描述清楚该方法的功能,例如switchModel、findPage。
7. 属性的命名只允许由字母组成,下划线是不允许的,首字母要小写,其后每个单词首字母要大写,即所谓的 “驼峰法命名” 规则,例如tablePrefix、tableName 。
8. 对于对象成员的访问,我们必须始终使用 “get” 和 “set” 方法。例如:

 代码如下 复制代码

class Foo
{
    protected $_testObj;
    public function getTestObj()

    {
        return $this->_testObj;
    }
    public function setTestObj($testObj)
    {
        $this->testObj = $_testObj;
    }
}

想起我们N年前学习php或C语言时发会发对于$a++ 与++$a总是很不了解,不知道是先加一还是循环之后再加一,下面我来给各位详细的介绍一下吧。

这里我们来聊聊PHP的运算符号的升级版: ++,--,呵呵。

++  即自增,

--    即自减。

实际运用:

$a = 10; $a++ = ?  //先用再加,最后结果为11

$a = 10; ++$a = ?  //先加再用,最后结果为11

$a = 10;

$b = $a++ + ++$a;

echo $a;

echo $b;   //算一下吧,结果我回复解答


来一段例子,来引出重点。

$a = true;

echo $a++;

echo $a + 1;

$b = 'c';

echo $b++;

echo $b++;


上面四个输出你是否知道正确答案呢,下面是总结的一些规律,各位也可以亲自动手实验。

1. 布尔型不参与 ++ 运算, 不会进行类型转换而参与自增。所以第一个输出是1。

2. 布尔型参与算数运算如+,-,会自动进行类型转换,所以第二个输出是2。

3. PHP中字符串++表示升序,所以第三个输出是c, 第四个输出是d。

在php中定义常量我们使用的是const来定义了并且const定义常量是不需要$符号了,如果使用$就是变量 了哦,下面我来一起来看看类 const常量访问

例子。const常量访问

 代码如下 复制代码

class Math {
   const num=3.14;
  
   public function showNum(){
       return self::num;
   }
}

echo Math::num."<br/>";

$math=new Math();
echo $math->showNum();

结果:

3.14
3.14

例子,变量访问

 代码如下 复制代码

class Math {
   const num=3.14;
   var   $abc='aa';
   public function showNum(){
       return self::num;
   }
}

echo Math::abc."<br/>";

提示Fatal error: Undefined class constant 'abc' in E:xxx1.php on line 12

总结:所以const是定义变量可以使用Math::num来访问而 var定义的内部变量使用Math::num访问时就会提示变量未定义了哦。

[!--infotagslink--]

相关文章

  • php读取zip文件(删除文件,提取文件,增加文件)实例

    下面小编来给大家演示几个php操作zip文件的实例,我们可以读取zip包中指定文件与删除zip包中指定文件,下面来给大这介绍一下。 从zip压缩文件中提取文件 代...2016-11-25
  • Jupyter Notebook读取csv文件出现的问题及解决

    这篇文章主要介绍了JupyterNotebook读取csv文件出现的问题及解决,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教...2023-01-06
  • 源码分析系列之json_encode()如何转化一个对象

    这篇文章主要介绍了源码分析系列之json_encode()如何转化一个对象,对json_encode()感兴趣的同学,可以参考下...2021-04-22
  • Photoshop打开PSD文件空白怎么解决

    有时我们接受或下载到的PSD文件打开是空白的,那么我们要如何来解决这个 问题了,下面一聚教程小伙伴就为各位介绍Photoshop打开PSD文件空白解决办法。 1、如我们打开...2016-09-14
  • php中去除文字内容中所有html代码

    PHP去除html、css样式、js格式的方法很多,但发现,它们基本都有一个弊端:空格往往清除不了 经过不断的研究,最终找到了一个理想的去除html包括空格css样式、js 的PHP函数。...2013-08-02
  • C#操作本地文件及保存文件到数据库的基本方法总结

    C#使用System.IO中的文件操作方法在Windows系统中处理本地文件相当顺手,这里我们还总结了在Oracle中保存文件的方法,嗯,接下来就来看看整理的C#操作本地文件及保存文件到数据库的基本方法总结...2020-06-25
  • 解决python 使用openpyxl读写大文件的坑

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

    这篇文章主要介绍了C#实现HTTP下载文件的方法,包括了HTTP通信的创建、本地文件的写入等,非常具有实用价值,需要的朋友可以参考下...2020-06-25
  • SpringBoot实现excel文件生成和下载

    这篇文章主要为大家详细介绍了SpringBoot实现excel文件生成和下载,文中示例代码介绍的非常详细,具有一定的参考价值,感兴趣的小伙伴们可以参考一下...2021-02-09
  • php无刷新利用iframe实现页面无刷新上传文件(1/2)

    利用form表单的target属性和iframe 一、上传文件的一个php教程方法。 该方法接受一个$file参数,该参数为从客户端获取的$_files变量,返回重新命名后的文件名,如果上传失...2016-11-25
  • php批量替换内容或指定目录下所有文件内容

    要替换字符串中的内容我们只要利用php相关函数,如strstr,str_replace,正则表达式了,那么我们要替换目录所有文件的内容就需要先遍历目录再打开文件再利用上面讲的函数替...2016-11-25
  • PHP文件上传一些小收获

    又码了一个周末的代码,这次在做一些关于文件上传的东西。(PHP UPLOAD)小有收获项目是一个BT种子列表,用户有权限上传自己的种子,然后配合BT TRACK服务器把种子的信息写出来...2016-11-25
  • AI源文件转photoshop图像变模糊问题解决教程

    今天小编在这里就来给photoshop的这一款软件的使用者们来说下AI源文件转photoshop图像变模糊问题的解决教程,各位想知道具体解决方法的使用者们,那么下面就快来跟着小编...2016-09-14
  • C++万能库头文件在vs中的安装步骤(图文)

    这篇文章主要介绍了C++万能库头文件在vs中的安装步骤(图文),文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧...2021-02-23
  • Zend studio文件注释模板设置方法

    步骤:Window -> PHP -> Editor -> Templates,这里可以设置(增、删、改、导入等)管理你的模板。新建文件注释、函数注释、代码块等模板的实例新建模板,分别输入Name、Description、Patterna)文件注释Name: 3cfileDescriptio...2013-10-04
  • C#路径,文件,目录及IO常见操作汇总

    这篇文章主要介绍了C#路径,文件,目录及IO常见操作,较为详细的分析并汇总了C#关于路径,文件,目录及IO常见操作,具有一定参考借鉴价值,需要的朋友可以参考下...2020-06-25
  • index.php怎么打开?如何打开index.php?

    index.php怎么打开?初学者可能不知道如何打开index.php,不会的同学可以参考一下本篇教程 打开编辑:右键->打开方式->经文本方式打开打开运行:首先你要有个支持运行PH...2017-07-06
  • php文件上传你必须知道的几点

    本篇文章主要说明的是与php文件上传的相关配置的知识点。PHP文件上传功能配置主要涉及php.ini配置文件中的upload_tmp_dir、upload_max_filesize、post_max_size等选项,下面一一说明。打开php.ini配置文件找到File Upl...2015-10-21
  • C#使用StreamWriter写入文件的方法

    这篇文章主要介绍了C#使用StreamWriter写入文件的方法,涉及C#中StreamWriter类操作文件的相关技巧,需要的朋友可以参考下...2020-06-25
  • ant design中upload组件上传大文件,显示进度条进度的实例

    这篇文章主要介绍了ant design中upload组件上传大文件,显示进度条进度的实例,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧...2020-10-29