ฉันเพิ่งเสร็จสิ้นโปรเจ็กต์ที่กำลังทำอยู่เมื่อเร็วๆ นี้และค่อนข้างว่าง มาที่นี่และแบ่งปันทักษะบางอย่างที่ฉันสั่งสมมากับคุณ!
1. เกี่ยวกับการเปลี่ยนเส้นทาง PHP วิธีที่หนึ่ง: header("Location: index.php");
วิธีที่ 2: echo "<script>window.location ="$PHP_SELF";</script>";
วิธีที่สาม: echo "<META HTTP-EQUIV="Refresh" CONTENT="0; URL=index.php">"
;
ฟังก์ชั่น browser_infor() {
$browser="";$browserver="";
$เบราว์เซอร์ =array("Lynx", "MOSAIC", "AOL", "Opera", "JAVA", "MacWeb", "WebExplorer", "OmniWeb");
$ตัวแทน = $GLOBALS["HTTP_USER_AGENT"];
สำหรับ ($i=0; $i<=7; $i++) {
ถ้า (strpos($ตัวแทน,$เบราว์เซอร์[$i])) {
$browser = $เบราว์เซอร์[$i];
$เบราว์เซอร์ = "";
-
-
if (ereg("Mozilla",$Agent) && !ereg("MSIE",$Agent)) {
$temp =explode("(", $Agent); $Part=$temp[0];
$temp =explode("/", $Part); $browserver=$temp[1];
$temp =explode(" ",$browserver); $browserver=$temp[0];
$เบราว์เซอร์ =preg_replace("/([d.]+)/"," \1",$เบราว์เซอร์ );
$เบราว์เซอร์ = " $เบราว์เซอร์";
$browser = "เน็ตสเคป นาวิเกเตอร์";
-
if (ereg("Mozilla",$Agent) && ereg("โอเปร่า",$Agent)) {
$temp =explode("(", $Agent); $Part=$temp[1];
$temp =explode(")", $Part); $browserver=$temp[1];
$temp =explode(" ",$browserver);$browserver=$temp[2];
$เบราว์เซอร์ =preg_replace("/([d.]+)/"," \1",$เบราว์เซอร์ );
$เบราว์เซอร์ = " $เบราว์เซอร์";
$browser = "โอเปร่า";
-
if (ereg("Mozilla",$Agent) && ereg("MSIE",$Agent)) {
$temp = explode("(", $Agent); $Part=$temp[1];
$temp = explode(";",$Part); $Part=$temp[1];
$temp = explode(" ",$Part);$browserver=$temp[2];
$เบราว์เซอร์ =preg_replace("/([d.]+)/"," \1",$เบราว์เซอร์ );
$เบราว์เซอร์ = " $เบราว์เซอร์";
$browser = "อินเตอร์เน็ตเอ็กซ์พลอเรอร์";
-
ถ้า ($เบราว์เซอร์!="") {
$browseinfo = "$browser$browserver";
}อื่น {
$browseinfo = "ไม่ทราบ";
-
กลับ $Browseinfo;
-
//เรียกเมธอด $browser=browseinfo(); ส่งคืนผลลัพธ์โดยตรง
3. รับระบบปฏิบัติการของผู้เยี่ยมชม
ฟังก์ชั่น osinfo() {
$os="";
$ตัวแทน = $GLOBALS["HTTP_USER_AGENT"];
if (eregi('win',$Agent) && strpos($Agent, '95')) {
$os="วินโดวส์ 95";
-
elseif (eregi('win 9x',$Agent) && strpos($Agent, '4.90')) {
$os="วินโดวส์ ME";
-
elseif (eregi('win',$Agent) && ereg('98',$Agent)) {
$os="วินโดวส์ 98";
-
elseif (eregi('win',$Agent) && eregi('nt 5.0',$Agent)) {
$os="วินโดวส์ 2000";
-
elseif (eregi('win',$Agent) && eregi('nt',$Agent)) {
$os="วินโดวส์เอ็นที";
-
elseif (eregi('win',$Agent) && eregi('nt 5.1',$Agent)) {
$os="วินโดวส์ XP";
-
elseif (eregi('win',$Agent) && ereg('32',$Agent)) {
$os="วินโดวส์ 32";
-
elseif (eregi('linux',$Agent)) {
$os="ลินุกซ์";
-
elseif (eregi('unix',$Agent)) {
$os="ยูนิกซ์";
-
elseif (eregi('sun',$Agent) && eregi('os',$Agent)) {
$os="SunOS";
-
elseif (eregi('ibm',$Agent) && eregi('os',$Agent)) {
$os="ไอบีเอ็ม OS/2";
-
elseif (eregi('Mac',$Agent) && eregi('PC',$Agent)) {
$os="แมคอินทอช";
-
elseif (eregi('PowerPC',$Agent)) {
$os="พาวเวอร์พีซี";
-
elseif (eregi('AIX',$Agent)) {
$os="AIX";
-
elseif (eregi('HPUX',$Agent)) {
$os="HPUX";
-
elseif (eregi('NetBSD',$Agent)) {
$os="NetBSD";
-
elseif (eregi('BSD',$Agent)) {
$os="BSD";
-
elseif (ereg('OSF1',$Agent)) {
$os="OSF1";
-
elseif (ereg('IRIX',$Agent)) {
$os="IRIX";
-
elseif (eregi('FreeBSD',$Agent)) {
$os="FreeBSD";
-
ถ้า ($os=='') $os = "ไม่ทราบ";
กลับ $os;
-
//วิธีการเรียก $os=os_infor();
4. คลาสรูปแบบไฟล์
$mime_types = array(
'gif' => 'รูปภาพ/gif',
'jpg' => 'รูปภาพ/jpeg',
'jpeg' => 'รูปภาพ/jpeg',
'jpe' => 'รูปภาพ/jpeg',
'bmp' => 'รูปภาพ/bmp',
'png' => 'รูปภาพ/png',
'tif' => 'รูปภาพ/tiff',
'tiff' => 'รูปภาพ/tiff',
'pict' => 'รูปภาพ/x-pic',
'pic' => 'รูปภาพ/x-pic',
'pct' => 'รูปภาพ/x-pic',
'tif' => 'รูปภาพ/tiff',
'tiff' => 'รูปภาพ/tiff',
'psd' => 'image/x-photoshop',
'swf' => 'application/x-shockwave-flash',
'js' => 'application/x-javascript',
'pdf' => 'แอปพลิเคชัน/pdf',
'ps' => 'แอปพลิเคชัน/postscript',
'eps' => 'application/postscript',
'ai' => 'application/postscript',
'wmf' => 'application/x-msmetafile',
'css' => 'ข้อความ/css',
'htm' => 'ข้อความ/html',
'html' => 'ข้อความ/html',
'txt' => 'ข้อความ/ธรรมดา',
'xml' => 'ข้อความ/xml',
'wml' => 'ข้อความ/wml',
'wbmp' => 'image/vnd.wap.wbmp',
'mid' => 'เสียง/midi',
'wav' => 'เสียง/wav',
'mp3' => 'เสียง/mpeg',
'mp2' => 'เสียง/mpeg',
'avi' => 'วิดีโอ/x-msvideo',
'mpeg' => 'วิดีโอ/mpeg',
'mpg' => 'วิดีโอ/mpeg',
'qt' => 'วิดีโอ/เวลารวดเร็ว',
'mov' => 'วิดีโอ/quicktime',
'lha' => 'application/x-lha',
'lzh' => 'แอปพลิเคชัน/x-lha',
'z' => 'แอปพลิเคชัน/x-บีบอัด',
'gtar' => 'application/x-gtar',
'gz' => 'application/x-gzip',
'gzip' => 'application/x-gzip',
'tgz' => 'application/x-gzip',
'tar' => 'แอปพลิเคชัน/x-tar',
'bz2' => 'แอปพลิเคชัน/bzip2',
'zip' => 'แอปพลิเคชัน/zip',
'arj' => 'แอปพลิเคชัน/x-arj',
'rar' => 'application/x-rar-compressed',
'hqx' => 'application/mac-binhex40',
'sit' => 'application/x-stuffit',
'bin' => 'application/x-macbinary',
'uu' => 'ข้อความ/x-uuencode',
'uue' => 'text/x-uuencode',
'latex' => 'application/x-latex',
'ltx' => 'แอปพลิเคชัน/x-latex',
'tcl' => 'application/x-tcl',
'pgp' => 'application/pgp',
'asc' => 'แอปพลิเคชัน/pgp',
'exe' => 'application/x-msdownload',
'doc' => 'application/msword',
'rtf' => 'แอปพลิเคชัน/rtf',
'xls' => 'application/vnd.ms-excel',
'ppt' => 'application/vnd.ms-powerpoint',
'mdb' => 'แอปพลิเคชัน/x-msaccess',
'wri' => 'application/x-mswrite',
5.
สร้างเอกสาร Excel ด้วย php
<?
header("ประเภทเนื้อหา:application/vnd.ms-excel");
header("การจัดการเนื้อหา:ชื่อไฟล์=test.xls");
เสียงก้อง "test1t";
เสียงก้อง "test2tn";
เสียงก้อง "test1t";
เสียงก้อง "test2tn";
เสียงก้อง "test1t";
เสียงก้อง "test2tn";
เสียงก้อง "test1t";
เสียงก้อง "test2tn";
เสียงก้อง "test1t";
เสียงก้อง "test2tn";
เสียงก้อง "test1t";
เสียงก้อง "test2tn";
-
//เปลี่ยนส่วนหัวของไฟล์ที่เกี่ยวข้องให้เป็นรูปแบบไฟล์เอาท์พุต
เช่น .doc
วิธีที่หนึ่ง:
//$db->rows[$i][date] คือค่าฟิลด์ datetime ในฐานข้อมูล
$วันนี้=เวลา();
$theDay=date("Ymd H:i:s",$today-24*3600);
$newTag=$db->rows[$i][date]>=$theDay?"<img src='../image/newinfor.gif'>///";
วิธีที่สอง:
$newTag=$db->rows[$i][date]>=date("Ymd 00:00:00")?"<img src='../image/newinfor.gif'>///";
7. ตัวอย่างการห่อหุ้มฐานข้อมูล
<?php
//------------------------------------------------ -----------------------------------------------
// ※ตัวสร้างฐานข้อมูล() พารามิเตอร์เริ่มต้นของฐานข้อมูล
// ※เลือก() แบบสอบถาม
// ※GetRows() ส่งคืนจำนวนบันทึกทั้งหมดที่สอบถาม
// ※Insert() แทรกบันทึก
// ※อัปเดต() อัปเดต
// ※ลบ() ลบ
// ※Halt() ขัดจังหวะและแสดงข้อความแสดงข้อผิดพลาด*/
//------------------------------------------------ -----------------------------------------------
กำหนด ("DATABASETYPE", "1"); // กำหนดประเภทฐานข้อมูล: 1 คือ MySql; 2 คือ SQL Server; 4 คือ Odbc
กำหนด("SERVER", "localhost"); //ชื่อโฮสต์หรือที่อยู่ IP ของเซิร์ฟเวอร์ฐานข้อมูล
กำหนด("DATABASE", "dbName"); //ชื่อของฐานข้อมูลที่จะเชื่อมต่อ
กำหนด("USER", "ชื่อตาราง"); //ชื่อผู้ใช้ที่ใช้เชื่อมต่อกับฐานข้อมูล
กำหนด("รหัสผ่าน", "paswd"); // รหัสผ่านที่ใช้เชื่อมต่อกับฐานข้อมูล
ฐานข้อมูลคลาส{
var $dbLink; //ตัวจัดการการเชื่อมต่อ
var $result; //ตัวจัดการแบบสอบถาม
var $insId; //Insert() ส่งกลับค่าของคอลัมน์ AUTO_INCREMENT สำเร็จ
var $rows; //ส่งคืนอาร์เรย์ข้อมูล
var $numRows; //คืนค่าจำนวนข้อมูล
var $dbHost, $dbUser, $userPassword, $ฐานข้อมูล;
var $dbType=ประเภทข้อมูล;
var $msgFlag = "yes" ; //yes:show the Mysql message ; no: ตายด้วยการแสดง "หยุด"
ฟังก์ชั่นฐานข้อมูล($dbHost=SERVER,$dbUser=USER,$userPassword=PASSWORD,$database=DATABASE){
สวิตช์($this->dbType){
กรณีที่ 1:
$this->dbLink=@mysql_pconnect($dbHost,$dbUser,$userPassword);// or die("ไม่สามารถเชื่อมต่อกับ Remote Host ได้!");
@mysql_select_db($database,$this->dbLink);// or die ("ไม่สามารถเชื่อมต่อกับ Remote Host ได้!");
หยุดพัก;
กรณีที่ 2:
หยุดพัก;
-
กลับเป็นจริง;
-
/*SQL:Select() คืนค่าเท็จและไม่มีผลลัพธ์*/
ฟังก์ชั่น เลือก($table,$columns,$condition=1){
$sql="select $columns from $table โดยที่ $condition ";
//echo $sql"<br>";
$this->result=@mysql_query($sql,$this->dbLink);
unset($this->แถว);
ถ้า($นี่->ผลลัพธ์){
$i=0;
if(!($this->rows=array("$i"=>@mysql_fetch_array($this->result))))
กลับเท็จ;
if(($this->numRows=@mysql_num_rows($this->ผลลัพธ์))==0)
กลับเท็จ;
ในขณะที่( $tempRows=@mysql_fetch_array($this->ผลลัพธ์ )){
array_push($นี่->แถว,$tempRows);
-
}อื่น{
$นี่->หยุด($sql);
กลับเท็จ;
-
กลับเป็นจริง;
-
/*SQL:GetRows() ส่งคืนจำนวนบันทึกที่ถูกสอบถามทั้งหมด*/
ฟังก์ชั่น GetRows($table,$condition=1){
$sql="select count(1) เป็นนับจาก $table โดยที่ $condition";
//echo $sql"<br>";
$this->result=@mysql_query($sql,$this->dbLink);
ถ้า($นี่->ผลลัพธ์){
$temp=@mysql_fetch_array($this->ผลลัพธ์ );
$this->numRows=$temp[นับ];
}อื่น{
$นี่->หยุด($sql);
กลับเท็จ;
-
ส่งคืน $this->numRows;
-
/*SQL:Insert()*/
ฟังก์ชั่นแทรก($table,$columns,$values){
$sql="ใส่ลงในค่า $table ($columns) ($values)";
//สะท้อน $sql;
$this->result=@mysql_query($sql,$this->dbLink);
ถ้า ($ นี่ -> ผลลัพธ์)
$this->insId=@mysql_insert_id($this->dbLink);
อื่น{
$นี่->หยุด($sql);
กลับเท็จ;
-
กลับเป็นจริง;
}
/*SQL:อัปเดต()*/
อัปเดตฟังก์ชัน($table,$settings,$condition){
$sql="update $table set $settings โดยที่ $condition";
//สะท้อน $sql;
$this->result=@mysql_query($sql,$this->dbLink);
ถ้า ($ นี่ -> ผลลัพธ์)
$this->numRows=@mysql_affected_rows($this->ผลลัพธ์);
อื่น{
$นี่->หยุด($sql);
กลับเท็จ;
-
กลับเป็นจริง;
}
/*SQL:ลบ*/
ฟังก์ชั่น ลบ($ตาราง,$เงื่อนไข){
$sql="ลบออกจาก $table โดยที่ $condition";
$this->result=@mysql_query($sql,$this->dbLink);
ถ้า ($ นี่ -> ผลลัพธ์)
$this->numRows=@mysql_affected_rows($this->ผลลัพธ์);
อื่น{
$นี่->หยุด($sql);
กลับเท็จ;
-
กลับเป็นจริง;
-
/*Halt():ข้อความแสดงข้อผิดพลาด */
ฟังก์ชั่นหยุด($ผงชูรส){
if($this->msgFlag=="ใช่"){
printf("<b>ข้อผิดพลาดในการสืบค้นฐานข้อมูล:</b> %s<br>n", $msg);
printf("<b>ข้อผิดพลาด MySql:</b> %s<br>n",mysql_error());
}อื่น
echo "<META HTTP-EQUIV=REFRESH CONTENT='0;URL=../include/error.htm'>";//ปรับแต่งไฟล์ข้อความแสดงข้อผิดพลาด
กลับเท็จ;
-
-
สวิตช์($db->dbType){
กรณีที่ 1:
@mysql_close();
หยุดพัก;
กรณีที่ 2:
หยุดพัก;
-
$db = ฐานข้อมูลใหม่();
-