PHP弹窗回送,PHP点点滴滴 一(我抄来滴,非常简单的东西)
1、布爾值:false(0,空白,null);??? true(-1,非0值);
2、echo '$s'輸出內(nèi)容是 $s;
如果""里面包含了$s或者{$s},那么將顯示的變量的值。推薦使用{$s}的方式。
使用""時候,如果在""里面還要使用"",就必須用\來轉(zhuǎn)義,例如: echo "\"sss\"";
3、字符串連接:使用標(biāo)點"."進行字符串連接。
4、訪問字符串中的字符:通過在字符串之后用花括號指定所要字符從零開始的偏移量來訪問。
strlen($str)?? 函數(shù)可以獲取字符串長度。
$str[0]? 獲取字符串$str的第一個字符。
substr('123456',5,1)?? 從第5個字符開始獲取一個字符,結(jié)果是“6”.
5、strval($s)將$s的值轉(zhuǎn)換成字符串,intval($s)將$s的值轉(zhuǎn)換成int整型數(shù)值。
雙引號里面使用雙引號:" a\"b "=a"b ;
6、數(shù)組: (array 括號,逗號,=>)
數(shù)組排序:sort($arr);
定義:$arr=array(1=>'11','foo'=>'fffooo', 'info'=>array(2=>22,'ghost'=>'host')? );
引用:$arr[1]? $arr['foo']? $arr['info'][2]? $arr['info']['ghost']
count($arr)? 獲取數(shù)組元素數(shù)量
遍歷數(shù)組:$arr=array(1=>'111',2=>'222',3=>'333');
foreach($arr as $k=>$v)
echo "{$k}_{$v}
"; //輸出:1_111? 2_222? 3_333
7、對象
class foo
{
var $a='s';//類的變量!!
function init()? //類的函數(shù)
{
echo "Doing foo.";
echo $this->a;? //引用類的變量!!
}
}
$bar = new foo;
$bar->init();
?>
8、變量
isset($s)檢查變量是否已經(jīng)設(shè)置,如果還沒有設(shè)置就引用$s將導(dǎo)致php提示: Undefined variable。
默認(rèn)情況下變量之間賦值是不會互相影響的(傳值賦值模式);
如果是 $a="a"; $b=&$a? 這種情況下,$a和$b中任一個變量的值改動了,另外一個變量的值也隨之變化(傳地址賦值模式)。
PHP5的預(yù)定義變量:
$_SERVER["REMOTE_ADDR"]? //獲取ip地址
$_REQUEST[],$_GET[],$_POST[] //獲取提交的參數(shù)的值
$_SESSION[],$_COOKIE[]
$_FILE[]
$_ENV[]
9、常量
define("CONSTANT", "Hello world.");
echo CONSTANT; // outputs "Hello world."
?>
10、運算符號
/? 取商,結(jié)果為float型,通過(int)($a/$b)得到整型商
%? 取余,結(jié)果為整型
==? 是否恒等
!=? <>? 不等于
and && 與? or || 或? !非
round($a) 四舍五入取$a的值
floor($a) 舍去$a小數(shù)點后內(nèi)容取整
ceil($a)? 進一法取整,返回不小于$a的下一個整數(shù)
11、流程控制
if()? {do it}
elseif(){do it}
else {do it}
for($i=0;$i
swtich($a){
case '1': do it;break;
case '2': do it;break;
default: do it;
}
12、函數(shù)
function_exists(function name)? 指定的函數(shù)是否存在;
函數(shù)內(nèi)引用全局變量: global $a;
靜態(tài)變量:static $a只在函數(shù)內(nèi)部編號;
function show()
{ static $a=0;$a++;echo $a;}
$a=10
show();
show();
echo $a
輸出結(jié)果:1,2,10
13、類與對象
14、圖像處理(需要GD庫支持)
檢查是否啟動了GD庫支持:if( function_exists(gd_info) )
gd_info()返回值是一個數(shù)組;
檢查GD庫版本:$ver=gd_info(); echo $k['GD Version'];
在x,y坐標(biāo)處新建圖像:$img=imagecrete(x,y)
為圖像分配顏色:$color=imagecolorallocate($img,R,G,B)
發(fā)送圖片給瀏覽器;header("content-type;image/gif")? 或者image/jgeg,image/png
顯示圖片;imagegif($img)?? imagejpeg($img)??? imagepng($img)? imagewbmp($img)
釋放內(nèi)存: imagedestroy($img)
顯示文字; imagestring($img,int font,x,y,$str,$color)? 如果 font 是 1,2,3,4 或 5,則使用內(nèi)置字體。
劃線:imageline($img,x1,y1,x2,y2,$color);
15、SESSION
session_start()?? 建立會話
$_SESSION['var']='kkk'??? 建立var會話變量并賦值
session_unset() 注銷已注冊session變量
session_unregister('var') 注銷session變量var
PHP后退頁面過期或不存在問題的解決:
post后或使用了使用了session都有可能引起這種情況
解決辦法,在開頭加入如下代碼即可:
header("Cache-control: private");
1、最好是用include_once()而不要用include()函數(shù);
require_once()遇見錯誤則停止執(zhí)行,include_once()提示后繼續(xù)執(zhí)行;
2、empty($str)如果$str是0或者為空都會返回true,所以$str最好不要有0
3、---------頁面轉(zhuǎn)向--------------------
"alert('成功注銷會員')
";
當(dāng)然header('location:URL')也可以實現(xiàn)但是效果沒有上面的好!!
但是要特別注意:header這個函數(shù)所在的頁面上在調(diào)用此函數(shù)前,不能有任何輸出!!
-----------------------------
4、php代碼里面嵌套html或者js代碼時候,最好用單引號而不要用雙引號!!
5、獲取頁面提交的參數(shù):$_SERVER['REMOTE_ADDR'].$_SERVER[REQUEST_URI]
6、顯示本區(qū)時間:date_default_timezone_set('PRC');echo date("H:i:s");這樣才是服務(wù)器的時間,如果不設(shè)置時區(qū)PHP5版本后顯示的時間就不是本地時間!!
date("Ymd His")? 顯示年月日時分秒
10、細(xì)線表格設(shè)計:單元格間距=1;表格背景色=你想要看見最終顯示出來的表格邊框色;單元格背景色=白色或者很淺的色系。
豎線:表格列填充黑色,列寬度=1
字體:14像素+宋體?? style="width:80"
12、關(guān)于使用$_GET[]和$_POST[]獲取頁面變量:action='1.php?action=add'中應(yīng)該用$_GET['action']來獲取action提交的值!!
處理radio單選組:由于radio單選組的name都是一樣的,所以使用$_REQUEST["name"]就可以獲取到單選的那個項的值value。
處理select下拉框(單選):由于select單選組的name都是一樣的,所以使用$_REQUEST["name"]就可以獲取到選擇的下拉項的值value。
處理select下拉框(多選):select下拉框命名必須為name[]形式;
$arr=$_REQUEST["name"];
for($i=0;$i
echo "{$arr[$i]}";
處理checkbox多選組(多選):checkbox多選組必須命名為checkbox[]形式;
$arr=$_REQUEST["checkbox"];
for($i=0;$i
echo "{$arr[$i]}";
14、變量的引用,
(condition)?action1:action2相當(dāng)于if(condition) action1? else action2.
funciton msg($j=0,$k=1,$l=3) 預(yù)定義參數(shù)值,如果參數(shù)不指定則用默認(rèn)值,如果指定了就用指定值。
17、htmlentities($_POST['$S'])將$S的內(nèi)容中所有的特殊字符轉(zhuǎn)換成HTML表示方式。
所有會引起瀏覽器進行特殊處理的字符在進行了轉(zhuǎn)換后,就能確保顯示出來的是原來錄入的內(nèi)容。
18、-----------------頁面和代碼分離的一種模板(分htm和php)------------------
第一、php文件處理完所有的業(yè)務(wù)(control和model),查詢結(jié)果一般放到數(shù)組,然后htm文件里面可以直接調(diào)用數(shù)組變量。
php文件末尾必須include_once(htm文件)!!
$query=mysql_query($sql);
while($rs=mysql_fetch_array($query))
{
$catedb[]=$rs;
}
第二、htm文件只管顯示(view),寫代碼時候,使用? print <<
例如:
{$value['name']}
- 顯示順序: -
[編輯]
[刪除]
第三、中,<?php ?>必須寫在最前面和最后面。
例如:
html代碼
html代碼
html代碼
html代碼
//------------------------------------------------
19、數(shù)據(jù)庫操作
//連接數(shù)據(jù)庫
$link=@mysql_connect(host,usr,name) or die("erro message!!");
@mysql_close($link);
//查詢
$sql="select * from db";
$result=@mysql_query($sql) or die("erro message!!");
//顯示查詢結(jié)果集
$result=@mysql_query("SELECT id, name FROM mytable");
while ( $row = @mysql_fetch_array($result)? )
{
printf ("ID: %s? Name: %s", $row[0], $row["name"]);
}
//獲取查詢包含的記錄總數(shù)
mysql_num_rows($result)??? 返回select語句查詢結(jié)果的記錄總數(shù)。
mysql_affected_rows()????? 返回insert,delete,update等sql語句更新的記錄總數(shù),注意此函數(shù)沒有參數(shù)!!。
mysql_num_fields($query)?? 返回select語句查詢結(jié)果的列(字段)總數(shù)。
//釋放查詢占用的內(nèi)存
mysql_free_result($result)
//事務(wù)操作
//修改記錄
mysql_array_rows($)和mysql_affected_rows()返回值必須>0才算操作成功,
mysql_affected_rows())返回值可能是-x負(fù)數(shù),此時用if(mysql_affected_rows()))判斷也是返回true!!!
//------------------------------------------------
20、javascrīpt學(xué)習(xí):
(1)、獲取表單的元素個數(shù): form.elements.length
(2)、表單第(I-1)個元素的類型: form.elements[i].type="button"
(3)、表單元素的值:form.elements.value="";
(4)、復(fù)選框標(biāo)記已經(jīng)勾選:document.form.checkbox.checked=true
(5)、單選按鈕:document.form.radio.checked
(6)、Select的索引值:document.form.select.selectIndex
(7)、select的屬性:document.form.select.options[i].text;
document.form.select.options[i].value;
(8)、當(dāng)前select的值:document.form.select.options[document.form.select.selectIndex].value;
//------------------------------------------------
21、數(shù)組
$arr=array(1,2,3,4,5);
foreach($arr as $i=>$value)
echo $arr[$i];
//打印數(shù)組詳細(xì)內(nèi)容?? print_r($array)
$a = array ('a' => 'apple', 'b' => 'banana', 'c' => array ('x','y','z'));
print_r ($a);
?>
count($arr) 返回數(shù)組$arr的列的數(shù)目。
//-----------------文件操作----------------------------
Send this file:
form必須有參數(shù)說明enctype="multipart/form-data"才能有文件上傳功能。
設(shè)置了文件上傳功能后,php自動建立了全局變量$_FILES;
$_FILES['myfile']['name'] 客戶端機器文件的原名稱。
$_FILES['myfile']['type'] 文件的 MIME 類型,需要瀏覽器提供該信息的支持,例如“image/gif”。
if( $_FILES['fl']['type']=='image/jpeg' ) 只能上傳JPEG類型文件
$_FILES['myfile']['size'] 已上傳文件的大小,單位為字節(jié)。(不可靠的數(shù)據(jù))
判斷上傳文件大小 if(filesize($_FILES['attachment']['tmp_name'])>1024000)? (這樣判斷才可靠)
$_FILES['myfile']['tmp_name'] 文件被上傳后在服務(wù)端儲存的臨時文件名。
$_FILES['myfile']['error'] 和該文件上傳相關(guān)的錯誤代碼。
php文件上傳時候,windows系統(tǒng)下的文件路徑必須是用\\來做轉(zhuǎn)義表示\,例如'c:\\windows\\'而不是'c:\windows\',;
php處理文件上傳做法:文件被上傳結(jié)束后,默認(rèn)地被存儲在了臨時目錄中,這時您必須將它從臨時目錄中刪除或移動到其它地方,
如果沒有,則會被刪除。也就是不管是否上傳成功,腳本執(zhí)行完后臨時目錄里的文件肯定會被刪除。
所以在刪除之前要將它復(fù)制到其它位置,此時,才算完成了我們的上傳文件過程。
$file=$_FILES['fl']['name'];
$tmp=$_FILES['fl']['tmp_name'];
if(move_uploaded_file($tmp,'c:\\apache\\htdocs\\'.$file))
echo 'upload file ok';
else
echo 'upload file failse';
上傳多個文件:有了上面的認(rèn)識,同時上傳多個文件也就不難做了。上傳多個文件是從PHP3.0.10版本開始被支持。
要完成它,只需文件名以數(shù)組形式表示即可:
假如我們上傳了兩個文件:first.txt 和 second.gif。表單被提交后,
$_FILES["myFile"]["name"][0]、$_FILES["myFile"]["size"][0]分別指first.txt文件的名字和大小,
$_FILES["myFile"]["name"][1]、$_FILES["myFile"]["size"][1]分別指 second.gif 的文件名字和大小。
當(dāng)然,$_FILES["myFile"]["tmp_name"]、$_FILES["myFile"]["type"]也同樣會產(chǎn)生。
bool is_uploaded_file ( string filename )
說明:如果 filename 所給出的文件是通過 HTTP POST 上傳的則返回 TRUE。這可以用來確保惡意的用戶
無法欺騙腳本去訪問本不能訪問的文件,例如 /etc/passwd。這種檢查顯得格外重要,如果上傳的文件有
可能會造成對用戶或本系統(tǒng)的其他用戶顯示其內(nèi)容的話。為了能使 is_uploaded_file() 函數(shù)正常工作,
必段指定類似于 $_FILES['userfile']['tmp_name'] 的變量,而在從客戶端上傳的
文件名 $_FILES['userfile']['name'] 不能正常運作。
$old_filename = $_FILES['attachment']['tmp_name'];//獲得上傳到服務(wù)器臨時目錄得文件的名稱;
$new_filename = '/path/to/'.$_FILES['attachment']['name'];
if (move_uploaded_file($old_filename, $new_filename))//移動上傳臨時文件到制定目錄
{
/* $old_filename is an uploaded file, and the move was successful. */
}
?>
遍歷$mydir目錄下的文件和文件夾:
if($dirhandle=opendir($mydir))
while( false!==($fi=readdir($dirhandle)) )
echo $fi.'
';
closedir($dirhandle);
22、數(shù)學(xué)函數(shù)
$a / $b? 如果除不盡,結(jié)果是浮點數(shù)。
$a % $b? 取商;
ceil($a) 四舍五入取值$a;
floor($a) 只取$a的整數(shù)部分;
-----------------------------------------------------------------------------------------------
23、php與OOP
--------------------class.php------------------------------------
class database
{
public $num,$result;
public function? query($sql)
{
$this->result=@mysql_query($sql) or die("err code 3: sql query fail") ;
return $this->result; //返回查詢結(jié)果集
@mysql_free_result($result) or die("err code 5: mysql_free_result() fail");
}
public function num_rows($sql)
{
$this->result=$this->query($sql);? //通過$this->query引用query函數(shù). $this->result引用成員變量result!!
$this->num=@mysql_num_rows($result) or die("err code 4: mysql_num_rows() fail");
return $this->num;? //此函數(shù)返回查詢的結(jié)果數(shù)。
}
}
--------------------test.php------------------------------------
include_once("class.php");
$conn=new database;
$sql="select * from user order by userAge";
echo $conn->num_rows($sql)."
";
?>
//-------------------php與Ajax------------------------------------
由于jsvascrīpt采用UTF8編碼,在windows下采用ajax回送服務(wù)器的返回信息就會出現(xiàn)亂碼,
因此在windows下應(yīng)用時,php處理頁面ajax請求的頁面必須包含:
header('Content-Type:text/html;charset=GB2312');這句話,否則php獲取的中文數(shù)據(jù)返回到
ajax的html界面將顯示亂碼。
//輸出xml
require_once("conn.php");
header("Conten-Type:text/xml");
echo "<?xml version=\"1.0\" encoding=\"gb2312\"?>";
echo "";
$result = mysql_db_query("myly","select * from myTable");
while($row = mysql_fetch_object($result)) {
echo "".$row->name."";
echo "location."]]>";
}
echo "";
mysql_free_result($result);
mysql_close();
?>
//輸出xml------------------------------------------------------------------
header("Conten-Type:text/xml");
echo "<?xml version=\"1.0\" encoding=\"gb2312\"?>";
echo "";
for($i=0;$i<5;$i++)
{
$str="
{$i}";echo $str;
}
echo "";
?>
總結(jié)
以上是生活随笔為你收集整理的PHP弹窗回送,PHP点点滴滴 一(我抄来滴,非常简单的东西)的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 新手如何开麻辣烫店 餐饮创业的好选择
- 下一篇: 父母可以查我的信用卡吗