백엔드 개발 PHP 튜토리얼 PHP中的一些经验积累_PHP

PHP中的一些经验积累_PHP

Jun 01, 2016 pm 12:38 PM
agent os 경험

最近刚刚完成手中的项目,比较闲。来这儿转转,把积累的一些技巧分享给大家!
1、关于PHP重定向
方法一:header("Location: index.php");
方法二:echo "<script>window.location =\"$PHP_SELF\";</script>";
方法三:echo "";

2、获取访问者浏览器

function browse_infor()
{
$browser="";$browserver="";
$Browsers =array("Lynx","MOSAIC","AOL","Opera","JAVA","MacWeb","WebExplorer","OmniWeb");
$Agent = $GLOBALS["HTTP_USER_AGENT"];
for ($i=0; $i{
if (strpos($Agent,$Browsers[$i]))
{
$browser = $Browsers[$i];
$browserver ="";
}
}
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];
$browserver =preg_replace("/([\d\.]+)/","\\1",$browserver);
$browserver = " $browserver";
$browser = "Netscape Navigator";
}
if (ereg("Mozilla",$Agent) && ereg("Opera",$Agent))
{
$temp =explode("(", $Agent); $Part=$temp[1];
$temp =explode(")", $Part); $browserver=$temp[1];
$temp =explode(" ",$browserver);$browserver=$temp[2];
$browserver =preg_replace("/([\d\.]+)/","\\1",$browserver);
$browserver = " $browserver";
$browser = "Opera";
}
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];
$browserver =preg_replace("/([\d\.]+)/","\\1",$browserver);
$browserver = " $browserver";
$browser = "Internet Explorer";
}
if ($browser!="")
{
$browseinfo = "$browser$browserver";
}
else
{
$browseinfo = "Unknown";
}
return $browseinfo;
}
//调用方法$browser=browseinfo() ;直接返回结果

3、获取访问者操作系统
function osinfo() {
$os="";
$Agent = $GLOBALS["HTTP_USER_AGENT"];
if (eregi('win',$Agent) && strpos($Agent, '95')) {
$os="Windows 95";
}
elseif (eregi('win 9x',$Agent) && strpos($Agent, '4.90')) {
$os="Windows ME";
}
elseif (eregi('win',$Agent) && ereg('98',$Agent)) {
$os="Windows 98";
}
elseif (eregi('win',$Agent) && eregi('nt 5\.0',$Agent)) {
$os="Windows 2000";
}
elseif (eregi('win',$Agent) && eregi('nt',$Agent)) {
$os="Windows NT";
}
elseif (eregi('win',$Agent) && eregi('nt 5\.1',$Agent)) {
$os="Windows XP";
}
elseif (eregi('win',$Agent) && ereg('32',$Agent)) {
$os="Windows 32";
}
elseif (eregi('linux',$Agent)) {
$os="Linux";
}
elseif (eregi('unix',$Agent)) {
$os="Unix";
}
elseif (eregi('sun',$Agent) && eregi('os',$Agent)) {
$os="SunOS";
}
elseif (eregi('ibm',$Agent) && eregi('os',$Agent)) {
$os="IBM OS/2";
}
elseif (eregi('Mac',$Agent) && eregi('PC',$Agent)) {
$os="Macintosh";
}
elseif (eregi('PowerPC',$Agent)) {
$os="PowerPC";
}
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";
}
if ($os==') $os = "Unknown";
return $os;
}
//调用方法$os=os_infor() ;

4、文件格式类
$mime_types = array(
'gif' => 'image/gif',
'jpg' => 'image/jpeg',
'jpeg' => 'image/jpeg',
'jpe' => 'image/jpeg',
'bmp' => 'image/bmp',
'png' => 'image/png',
'tif' => 'image/tiff',
'tiff' => 'image/tiff',
'pict' => 'image/x-pict',
'pic' => 'image/x-pict',
'pct' => 'image/x-pict',
'tif' => 'image/tiff',
'tiff' => 'image/tiff',
'psd' => 'image/x-photoshop',

'swf' => 'application/x-shockwave-flash',
'js' => 'application/x-javascript',
'pdf' => 'application/pdf',
'ps' => 'application/postscript',
'eps' => 'application/postscript',
'ai' => 'application/postscript',
'wmf' => 'application/x-msmetafile',

'css' => 'text/css',
'htm' => 'text/html',
'html' => 'text/html',
'txt' => 'text/plain',
'xml' => 'text/xml',
'wml' => 'text/wml',
'wbmp' => 'image/vnd.wap.wbmp',

'mid' => 'audio/midi',
'wav' => 'audio/wav',
'mp3' => 'audio/mpeg',
'mp2' => 'audio/mpeg',

'avi' => 'video/x-msvideo',
'mpeg' => 'video/mpeg',
'mpg' => 'video/mpeg',
'qt' => 'video/quicktime',
'mov' => 'video/quicktime',

'lha' => 'application/x-lha',
'lzh' => 'application/x-lha',
'z' => 'application/x-compress',
'gtar' => 'application/x-gtar',
'gz' => 'application/x-gzip',
'gzip' => 'application/x-gzip',
'tgz' => 'application/x-gzip',
'tar' => 'application/x-tar',
'bz2' => 'application/bzip2',
'zip' => 'application/zip',
'arj' => 'application/x-arj',
'rar' => 'application/x-rar-compressed',

'hqx' => 'application/mac-binhex40',
'sit' => 'application/x-stuffit',
'bin' => 'application/x-macbinary',

'uu' => 'text/x-uuencode',
'uue' => 'text/x-uuencode',

'latex'=> 'application/x-latex',
'ltx' => 'application/x-latex',
'tcl' => 'application/x-tcl',

'pgp' => 'application/pgp',
'asc' => 'application/pgp',
'exe' => 'application/x-msdownload',
'doc' => 'application/msword',
'rtf' => 'application/rtf',
'xls' => 'application/vnd.ms-excel',
'ppt' => 'application/vnd.ms-powerpoint',
'mdb' => 'application/x-msaccess',
'wri' => 'application/x-mswrite',
);

5、php生成excel文档

header("Content-type:application/vnd.ms-excel");
header("Content-Disposition:filename=test.xls");
echo "test1\t";
echo "test2\t\n";
echo "test1\t";
echo "test2\t\n";
echo "test1\t";
echo "test2\t\n";
echo "test1\t";
echo "test2\t\n";
echo "test1\t";
echo "test2\t\n";
echo "test1\t";
echo "test2\t\n";
?>
//改动相应文件头就可以输出.doc .xls等文件格式了

6、时间比较问题
举一个简单例子说明:比如一个论坛对当天发表的贴子用new图片标记一下。
方法一:
//$db->rows[$i][date]中为数据库中datetime字段值.
$today=time();
$theDay=date("Y-m-d H:i:s",$today-24*3600);
$newTag=$db->rows[$i][date]>=$theDay?"PHP中的一些经验积累_PHP":"";
方法二:
$newTag=$db->rows[$i][date]>=date("Y-m-d 00:00:00")?"PHP中的一些经验积累_PHP":"";

본 웹사이트의 성명
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.

핫 AI 도구

Undresser.AI Undress

Undresser.AI Undress

사실적인 누드 사진을 만들기 위한 AI 기반 앱

AI Clothes Remover

AI Clothes Remover

사진에서 옷을 제거하는 온라인 AI 도구입니다.

Undress AI Tool

Undress AI Tool

무료로 이미지를 벗다

Clothoff.io

Clothoff.io

AI 옷 제거제

AI Hentai Generator

AI Hentai Generator

AI Hentai를 무료로 생성하십시오.

뜨거운 도구

메모장++7.3.1

메모장++7.3.1

사용하기 쉬운 무료 코드 편집기

SublimeText3 중국어 버전

SublimeText3 중국어 버전

중국어 버전, 사용하기 매우 쉽습니다.

스튜디오 13.0.1 보내기

스튜디오 13.0.1 보내기

강력한 PHP 통합 개발 환경

드림위버 CS6

드림위버 CS6

시각적 웹 개발 도구

SublimeText3 Mac 버전

SublimeText3 Mac 버전

신 수준의 코드 편집 소프트웨어(SublimeText3)

Mi 팬들은 비판하고, Xiaomi는 남고, Paper OS는 Jin Fan 없이는 살 수 없다고요? Mi 팬들은 비판하고, Xiaomi는 남고, Paper OS는 Jin Fan 없이는 살 수 없다고요? Aug 07, 2024 pm 06:16 PM

'진판의 사임'은 아마도 모든 쌀 팬들이 가까운 미래에 가장 걱정하는 것일 것이다. 이 때문에 일부 사람들은 서둘러 서로에게 "샤오미 시스템은 구할 수 있다"고 중얼거렸고, 다른 사람들은 "어쨌든 상관없다"고 웃고 조롱했다. 누가 그를 대신하더라도 마찬가지일 것이다." 더 흥미로운 점은 '진판 사임' 소식이 샤오미 관계자나 다른 내부 인사에게서 나온 것이 아니라, 일부 네티즌들이 진판의 웨이보 내용이 모두 삭제된 사실을 발견했기 때문에 의심을 피하기 위해 도망친 것으로 보인다는 점이다. , 소셜 계정을 삭제하는 것과 동일합니다. 출처: 웨이보 이 소식은 Phoenix.com과 같은 권위 있는 미디어를 포함해 수많은 디지털 블로거와 미디어의 관심을 빠르게 끌었고, 갑자기 디지털계에서 가장 최신이자 가장 뜨거운 '멜론'이 되었습니다. 샤오미 홍보부장 왕화는 나중에 진판이 사임한 것이 아니라 회사에서 일하기 위해 '퇴직'했다고 말하며 소문을 반박했다.

Fudan NLP 팀은 대규모 모델 에이전트에 대한 80페이지 개요를 발표하여 AI 에이전트의 현재 상황과 미래에 대한 개요를 하나의 기사로 제공합니다. Fudan NLP 팀은 대규모 모델 에이전트에 대한 80페이지 개요를 발표하여 AI 에이전트의 현재 상황과 미래에 대한 개요를 하나의 기사로 제공합니다. Sep 23, 2023 am 09:01 AM

최근 푸단대학교 자연어 처리팀(FudanNLP)은 LLM 기반 에이전트에 대한 리뷰 논문을 출시했습니다. 전체 텍스트는 86페이지에 달하며 600개 이상의 참고 자료가 있습니다. 저자들은 AIAgent의 역사를 시작으로 LLM 기반 에이전트의 배경, 구성, 적용 시나리오, 최근 주목받고 있는 에이전트 사회 등 대규모 언어 모델 기반 지능형 에이전트 현황을 종합적으로 정리했다. 동시에, 저자들은 관련 분야의 미래 개발 트렌드에 큰 가치를 지닌 Agent와 관련된 미래지향적이고 개방적인 이슈에 대해 논의했습니다. 논문 링크: https://arxiv.org/pdf/2309.07864.pdfLLM-basedAgent 논문 목록:

PHP 개발 경험 공유: 다양한 기능 구현을 마스터하기 위한 경험 및 제안 PHP 개발 경험 공유: 다양한 기능 구현을 마스터하기 위한 경험 및 제안 Nov 22, 2023 pm 12:02 PM

인터넷이 빠르게 발전하는 현 시대에, 서버측 스크립팅 언어로서 PHP를 채택하는 개발자가 점점 더 많아지고 있습니다. PHP는 배우기 쉽고 유연하며 오픈 소스이며 무료라는 장점이 있으며 다양한 웹사이트와 웹 애플리케이션을 빠르게 개발할 수 있습니다. 그러나 PHP 개발자로서 치열한 경쟁에서 두각을 나타내고 효율적이고 안정적인 코드를 작성하려면 다양한 기능에 대한 구현 기술과 경험도 익혀야 합니다. 우선, 프로젝트 아키텍처의 합리적인 계획은 PHP 애플리케이션 개발의 핵심입니다. 좋은 프로젝트 구조는 더 나은 코드 유지 관리를 제공할 수 있습니다.

Python OS 라이브러리에서 일반적으로 사용되는 방법은 무엇입니까? Python OS 라이브러리에서 일반적으로 사용되는 방법은 무엇입니까? May 03, 2023 am 09:55 AM

일반적으로 사용되는 함수 및 메서드 Python에서 os 라이브러리는 수많은 운영 체제 관련 함수 및 메서드를 제공합니다. 다음은 일반적으로 사용되는 일부 함수 및 메소드와 이에 대한 자세한 소개, 사례 및 전체 설명입니다. getcwd() 함수: 현재 작업 디렉토리를 가져옵니다. importos#현재 작업 디렉터리 가져오기 current_dir=os.getcwd() print(current_dir) 위 코드에서는 getcwd() 함수를 사용하여 현재 작업 디렉터리를 가져와 변수 current_dir에 할당합니다. 이 함수는 현재 작업 디렉터리의 경로를 나타내는 문자열을 반환합니다. listdir() 함수: 지정된 디렉터리의 모든 파일과 하위 디렉터리를 나열합니다.

os은 무슨 뜻인가요? os은 무슨 뜻인가요? Mar 25, 2021 pm 04:00 PM

os에는 다음과 같은 많은 의미가 있습니다. 1. 운영 체제(운영 체제), 컴퓨터 하드웨어 및 소프트웨어 리소스를 관리하는 프로그램 2. 오픈 소스 3. 개방형 시스템(Operator Station)

함정이 밟혔다: Go 언어 프로젝트 개발 경험과 교훈 함정이 밟혔다: Go 언어 프로젝트 개발 경험과 교훈 Nov 03, 2023 am 08:14 AM

함정: Go 언어 프로젝트 개발 경험과 교훈 소프트웨어 개발의 길에서 모든 개발자는 필연적으로 몇 가지 함정을 밟게 됩니다. 물론 이는 Go 언어 개발자에게도 예외는 아닙니다. 이 기사에서는 Go 언어를 사용하여 프로젝트를 개발하는 동안 제가 겪은 함정을 공유하여 다른 개발자에게 경험과 교훈을 제공할 것입니다. 다양한 버전의 Go 언어 프로젝트 개발에 Go 언어를 사용할 때 Go 언어 버전에 주의해야 합니다. 버전마다 언어 차이나 API 변경이 있을 수 있습니다.

Java GUI 개발 경험 및 제안에 대한 심층적인 이해 Java GUI 개발 경험 및 제안에 대한 심층적인 이해 Nov 22, 2023 am 10:10 AM

Java GUI 개발 경험 및 제안에 대한 심층적인 이해 일반적으로 사용되는 객체 지향 프로그래밍 언어인 Java는 소프트웨어 개발에서 중추적인 역할을 합니다. Java 개발에서 GUI(Graphical User Interface) 개발은 일상 업무에서 숙달해야 하는 중요한 기술 중 하나입니다. GUI 개발에서 풍부한 사용자 인터페이스와 대화형 성능은 소프트웨어의 사용자 경험과 사용자 만족도에 직접적인 영향을 미칩니다.

golang에서 '정의되지 않음: os.MkdirAll' 오류를 해결하는 방법은 무엇입니까? golang에서 '정의되지 않음: os.MkdirAll' 오류를 해결하는 방법은 무엇입니까? Jun 25, 2023 pm 06:18 PM

Go 언어(golang)를 사용하여 개발할 때 "undefine:os.MkdirAll" 오류가 발생할 수 있습니다. 이 오류는 os 패키지의 MkdirAll() 함수가 코드에서 호출되었지만 함수의 정의를 찾을 수 없다는 사실, 즉 MkdirAll() 함수를 올바르게 가져오지 않았기 때문에 발생합니다. 이번 글에서는 이 오류의 원인과 해결 방법에 대해 설명하겠습니다. "정의되지 않음:os.Mkdir" 이해

See all articles