還在看教程視頻的初級(jí)階段

一、php的歷史

1994年 Rasmus Lerdorf用Perl語言的創(chuàng)造,后用C重寫
1995年 以Personal Home Page Tools(PHP Tools)為名發(fā)布PHP1和PHP2
1996年 有15000個(gè)網(wǎng)站使用PHP
1997年 Zeev Suraski 和Andi Gutmans重寫PHP解釋器并改稱
1998年 正式發(fā)布PHP3
1999年 成立Zend Technology公司
2000年 發(fā)布PHP4
2004年 發(fā)布PHP5

二、PHP的優(yōu)點(diǎn)

1、語法簡單
2、學(xué)習(xí)成本低
3、開發(fā)效率高
4、跨平臺(tái)
5、開發(fā)部署方便
6、開源框架豐富(ThinkPHP)
7、開源CMS(內(nèi)容管理系統(tǒng))系統(tǒng)非常豐富(Joomla、Wordpress【很強(qiáng)大二次開發(fā)容易】)
8、開源網(wǎng)站系統(tǒng)非常豐富(DiscuszX【一系列網(wǎng)站開源系統(tǒng)(被騰訊收購)】)

三、PHP名詞解釋

1、Linux
2、Cygwin(win下模擬Linux環(huán)境)
3、Apache httpd(外部服務(wù)器)
4、Nginx(同上,比上更快但是沒有上穩(wěn)定插件也沒有上豐富)
5、MySQL(數(shù)據(jù)庫)
6、XAMPP(集成,快速部署開發(fā)環(huán)境)
7、Eclipse PDT(開發(fā)環(huán)境)
8、ZendStudio(開發(fā)環(huán)境)
9、PhpStorm(將使用的開發(fā)環(huán)境)
10、FTP(傳輸協(xié)議【計(jì)算機(jī)導(dǎo)論講過的】)
11、SSH(命令)
12、SCP(命令,上傳和下載文件)

四、開發(fā)PHP所需要的環(huán)境

集成開發(fā)環(huán)境,PHPStorm(使用JAVA開發(fā),JAVA虛擬機(jī)運(yùn)行,需要較高的硬件基礎(chǔ))。
軟件環(huán)境 XAMPP PhpStorm Firefox(chorme)。

五、將PHP部署到服務(wù)器上

ssh root@主機(jī)地址(或者ip地址)【應(yīng)急修改bug時(shí)】

上傳本地文件到服務(wù)器:
phpStorm內(nèi)置終端:ls
傳一個(gè)密鑰文件,指定一個(gè)端口,服務(wù)器目錄
上傳多個(gè)文件:
scp -i `/certs/demos_sever_key -p 2203 -r m(傳m內(nèi)所有東西 -r) root@119.254.110.164:/opt/lampp/htdocs/
將PHP部署到SAE【新浪提供的app引擎】上:svn
先安裝:sudo apt -get install subversion
svn co 地址 (也可以自行指明目錄)
提交代碼:/opt/lampp/htdocs/myphpdomains svn ci
將PHP部署到BAE【百度提供的app引擎】上
方法同上

六、PHP語法基礎(chǔ)

1、標(biāo)記符

<?php
?>[可不帶]
例子:(使用html插入php)
<code><!DOCTYPE html>
<html>
<head>
<meta charset="UTF-8">
<title>PHP tag</title>
</head>
<body>
Hello HTML

<?php
echo 'HELLO PHP';
?>
</body>
</html></code>

2、常量與變量

*如何聲明變量
$a = 10;
echo $a;
*如何聲明常量
(PHP5中可用const)
const THE_VALUE = 100;
echo THE_VALUE ;
(之前版本采用define)
define('THE_VALUE',200);
echo THE_VALUE;
【常量變量區(qū)別同c艸】
【const和define有些許區(qū)別】

3、函數(shù)

<code><?php
function traceHelloPHP()
{
echo 'HELLO PHP
'
echo 'hello Luer
'
}
traceHelloPHP();</code>
【or】
<code>$func = 'traceHelloPHP';
$func();</code>
函數(shù)傳入?yún)?shù)
<code>function sayHelloTo($name)
{
echo 'Hello'.$name.'
';
}
sayHelloTo('ZhangSan');
sayHelloTo('LiSi');
function traceNum($a,$b)
{
echo 'a='.$a.',b='.$b.'
';
}
traceNum(2,3);</code>
【or】
<code>function traceNum($a,$b)
{
echo"a= $a,b=$b";
}
traceNum(2,3);</code>
帶返回值的函數(shù)
<code>function add($a,$b){
return $a+$b;
}
echo add(10,2).'
';</code>

4、流程控制

<code>function getlevel($score){
if($score>90){
return '優(yōu)秀';
}elseif($score>80){
return '良好';
}elseif($score>70){
return '好';
}elseif($score>60){
return '可以';
}else{
return '差';
}
echo getlevel(91);</code>
【若出現(xiàn)亂碼,在服務(wù)器端指明編碼方式(html)】
【好像和c艸沒什么區(qū)別】
<code>switch($score/10)
{
case 10:
case 9:
return '優(yōu)秀';
case 8:
return '良好';
case 7:
return '好';
case 6:
return '可以';
default:
return '差';
}</code>
【不加break則跳出方法,加break則跳出switch case 語句(繼續(xù)向下執(zhí)行)】
【好像和c艸也沒什么區(qū)別】
【若輸入85則結(jié)果為差,為蝦米呢:和c艸不一樣,這里沒有轉(zhuǎn)整形啊】
<code>switch(intval($score/10))
{
case 10:
case 9:
return '優(yōu)秀';
case 8:
return '良好';
case 7:
return '好';
case 6:
return '可以';
default:
return '差';
}</code>
【使用intval進(jìn)行類型強(qiáng)轉(zhuǎn)】

5、循環(huán)

<code><?php
for($i=0;$i<100;$i++)
{
echo 'Hello'.$i.'
';
}
$i=0
while($i<100)
{
echo 'Hello'.$i.'
';
$i++
}
$i=0;
do
{
echo 'Hello'.$i.'
';
$i++;
}while($i<100);
for($i=0;$i<100;$i++)
{
echo 'Hello'.$i.'
';
if($i==20) break;
}
for($i=0;$i<100;$i++)
{
echo 'Hello'.$i.'
';
if($i==20) continue;
echo 'run here'.$i.'
';
}</code>
【和c艸沒什么區(qū)別】

6、php邏輯運(yùn)算

<code>function treaceNum()
{
for($i=0;$i<=100;$i++)
{
if($i%2==0)
{
echo $i.'
';
}
}
}</code>
【無非是且&&和或||非!=】
【懶得記了,因?yàn)楹蚦艸真的沒有什么區(qū)別】

七、php常用功能

1、php字符串

<code>$str = 'Hello PHP';
echo $str;
echo strpos($str.'o');//查找字符所在字符串位置;
echo strpos($str.'ph');//查找子字符串梭子字符串位置;
$str = substr($str,2,3);//字符串截取,從2開始,截取3個(gè)字符;
echo $str;//不傳長度的話,會(huì)一直截取到末尾;
result = str_split($str,2);
print_r($result);//分割字符串(數(shù)組要用print_r)指定分割長度。
$str='HELLO PHP JAVA C# C++';
$str1 = substr($str,2);
echo $str1;
$result = explode(' ',$str);
print_r($result);//以空格分割字符數(shù)組。
$num=100;
$str2 = $str.'
objective-C '.$num;
echo $str2//字符串的連接;
$str2 = "$str
objective-C $num";字符串內(nèi)直接放入變量;</code>
【啪啪啪,打臉了,和c艸的區(qū)別體現(xiàn)出來了】

2、php數(shù)組

<code>$arr = arry();
$arr[0] = 'Hello';
$arr[1] = 'World';
$arr[3] = '2';
$arr[4] = '3.14';</code>
用for循環(huán)來給數(shù)組賦值,省略了,懶。
然后發(fā)現(xiàn)了不一樣的地方,我還是寫一些。
<code>for($i=0;$i<100;$i++)
{
array_push($arr,'Item'.$i);
}
$print_r($arr);</code>

【在這里數(shù)組的聲明使用一個(gè)函數(shù),而且不需要指明長度,方便了不少,數(shù)組還可以使用字符來存儲(chǔ)數(shù)據(jù)】
PHP手冊(cè)查詢地址 php.net
$arr=arry('h'=>'Hello','w'=>'world')//數(shù)組的初始化=>清新脫俗,挺直觀嘛。
print_r($arr);
echo $arr['h']; //訪問數(shù)組的成員。

3、include與require

如何加載php文件;
file1::
<code><?php
function sayhello()
{
echo 'hello php';
}</code>
file2::
<code><?php
require 'file1.php';
sayhello();</code>
或者include 'file1.php'【有點(diǎn)像頭文件包含】;
【區(qū)別】
require:是一種依賴,查找不到會(huì)提示錯(cuò)誤
include:是一種包含,僅提示警告(可以不顯示)。

lib::
<code><?php
function sayhello(){
echo "hello php";
}
echo 'this is a lib file';</code>

index::
<code><?php
require 'lib.php';
require 'lib.php';</code>
【會(huì)提示錯(cuò)誤,方法重復(fù)定義了兩次】
require 每次引用都會(huì)執(zhí)行一次
require_once 同一個(gè)文件只執(zhí)行一次;


三、如何聲明PHP的類

1、
<code>
file1::
<?php
class hello{
public function sayHello()
{echo 'hello';}
}
class desktop{
public function work()
{echo 'work';}
}
file2::
<?pho
require_once 'file1.php'
$s=new hello();
$h=new desktop;
$h->work();</code>

四、常用庫函數(shù)

1、時(shí)間和日期

<code><?php
//echo time();輸出時(shí)間戳
date_default_timezone_set('Asia/Shanghai');
echo date('Y-m-d H:i:s',time());//f2顯示幫助文檔</code>

2、JSON格式數(shù)據(jù)的操作

[1,2,5,7,8,"HELLO",[6,7,8],{"h":"hello"}]
{"h":"hello","w":"world",[1,2,3]}
數(shù)組中可以存放對(duì)象,對(duì)象中可以存放數(shù)組
$arr = array(1,2,5,8,"hello",array('h'=>'hello','name'=>'lu'))
echo json_encode($arr)


$obj = array('h'=>'hello','w'=>'world',array(3,2,1));
echo json_encode($obj);


decode
$jsonstr = '{"h":"hello","w":"world","8":"3,2,1"}';
$obj = json_decode($jsonstr);
//print_r($obj);
//訪問h
echo $obj->h;

3、文件操作

<code>//write data
$f = @fopen('data','w');//忽略警告
if($f)
{
fwrite($f,'hello php')
fclose($f);
}
else
{
echo '創(chuàng)建文件失敗'
}
fwrite($f,'hello php');
fclose($f);</code>
<code>//read data
$f = @fopen('data','r');
$content = fgets($f);//只讀取一行
$fclose($f);
echo $content//get content
echo file_get_contents('data');</code>

4、生成圖片

<code>$ing = imagecreat(400,200);
imagecolorallocate($img,225,225,225);
imageellipse($img,200,200,50,50,imagecolorallocate($img,255,0,0));
header('content-type: image/png')
imagepng($img);</code>

5、圖片打水印實(shí)例

$img = imagecreatfromipeg('name.jpg');
imagestring($Img,2,5,5,'renjialu.com',imagecolorallocate($img,0,255,0))
header('Content-type:image/jpeg')
imagejpeg($img);

五、html表單的創(chuàng)建與提交

1、表單與php

<code>
<!DOCTYPE html>
<html>
<head lang="en">
<meta charset="UTF-8">
<title></title>
</head>
<body>
<form action="sever.php">
名字:<input name="name" type="text">

愛好:<input name="hobby" type="text">

<input type="submit"value="提交">
</form>
</body>
</html>
</code>

2、處理GET請(qǐng)求

//前后端通信
<code>
<body>
<form action="hello.php"method="get">
<input name="name" type="text">
<input type="submit"value="提交">
</form>
</body>
</code>
//服務(wù)器端
<?php
if(isset($_GET['name']&&$_GET['name']))
{echo 'Hello',$_GET['name'];}
else
{echo '請(qǐng)輸入名字'}

3、處理post請(qǐng)求

//add
<code><form action="add.php"method="post">
a:<input type="text" name="a">

b:<input type="text" name="b">

<input type="submit"value="提交">
</form></code>
//服務(wù)器端
<code><?php
if($_POST['a']&&$_POST['b'])
{echo $_POST['a']+$_POST['b'];}
else
{echo '請(qǐng)輸入?yún)?shù)';}</code>

4、上傳文件

<code><form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="file">
<input type="submit" value="提交"></code>
//服務(wù)器端
<code>
<?php
$file = $_FILES['file'];
$fileName = $file['name'];
move_upload_file($file['temp_name'],$fileName);

echo "
"
?>
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容