Heim Backend-Entwicklung PHP-Tutorial 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":"";

Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn

Heiße KI -Werkzeuge

Undresser.AI Undress

Undresser.AI Undress

KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover

AI Clothes Remover

Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool

Undress AI Tool

Ausziehbilder kostenlos

Clothoff.io

Clothoff.io

KI-Kleiderentferner

AI Hentai Generator

AI Hentai Generator

Erstellen Sie kostenlos Ai Hentai.

Heiße Werkzeuge

Notepad++7.3.1

Notepad++7.3.1

Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version

SublimeText3 chinesische Version

Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1

Senden Sie Studio 13.0.1

Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6

Dreamweaver CS6

Visuelle Webentwicklungstools

SublimeText3 Mac-Version

SublimeText3 Mac-Version

Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Mi-Fans kritisieren, Xiaomi bleibt, The Paper OS kann ohne Jin Fan nicht leben? Mi-Fans kritisieren, Xiaomi bleibt, The Paper OS kann ohne Jin Fan nicht leben? Aug 07, 2024 pm 06:16 PM

„Der Rücktritt von Jin Fan“ ist wahrscheinlich das, worüber sich alle Rice-Fans in naher Zukunft am meisten Sorgen machen. Einige Leute beeilten sich, es einander zu sagen und murmelten: „Das Xiaomi-System kann gerettet werden“, während andere lachten und spotteten: „Egal.“ Wer ihn ersetzt, wird das Gleiche sein. Interessanter ist, dass die Nachricht vom „Rücktritt von Jin Fan“ nicht von Xiaomi-Beamten oder anderen Insidern kam, sondern weil einige Internetnutzer herausfanden, dass Jin Fans Weibo von allen Inhalten befreit worden war. Es schien, als würde er weglaufen, um Verdacht zu vermeiden. , das Gleiche wie das Löschen von Sozialkonten. Quelle: Weibo Diese Nachricht erregte schnell die Aufmerksamkeit einer großen Anzahl digitaler Blogger und Medien, darunter sogar maßgeblicher Medien wie Phoenix.com, und wurde plötzlich zur neuesten und heißesten „Melone“ im digitalen Kreis. Obwohl Wang Hua, der Leiter der PR-Abteilung von Xiaomi, die Gerüchte später widerlegte, sagte er, dass Jin Fan nicht zurückgetreten sei, sondern sich „zurückziehe“, um für ihn zu arbeiten

Das NLP-Team von Fudan veröffentlichte einen 80-seitigen Überblick über groß angelegte Modellagenten und bietet in einem Artikel einen Überblick über den aktuellen Status und die Zukunft von KI-Agenten Das NLP-Team von Fudan veröffentlichte einen 80-seitigen Überblick über groß angelegte Modellagenten und bietet in einem Artikel einen Überblick über den aktuellen Status und die Zukunft von KI-Agenten Sep 23, 2023 am 09:01 AM

Kürzlich hat das Natural Language Processing Team (FudanNLP) der Fudan University einen Übersichtsartikel zu LLM-basierten Agenten veröffentlicht. Der vollständige Text ist 86 Seiten lang und enthält mehr als 600 Referenzen! Ausgehend von der Geschichte von AIAgent haben die Autoren den aktuellen Status intelligenter Agenten basierend auf großen Sprachmodellen umfassend geklärt, einschließlich: Hintergrund, Zusammensetzung, Anwendungsszenarien von LLM-basierten Agenten und der Agentengesellschaft, die viel Aufmerksamkeit erregt hat. Gleichzeitig diskutierten die Autoren zukunftsweisende und offene Fragen im Zusammenhang mit Agent, die für die zukünftigen Entwicklungstrends verwandter Bereiche von großem Wert sind. Papierlink: https://arxiv.org/pdf/2309.07864.pdfLLM-basedAgent-Papierliste:

Erfahrungsaustausch in der PHP-Entwicklung: Erfahrungen und Vorschläge zur Beherrschung der Implementierung verschiedener Funktionen Erfahrungsaustausch in der PHP-Entwicklung: Erfahrungen und Vorschläge zur Beherrschung der Implementierung verschiedener Funktionen Nov 22, 2023 pm 12:02 PM

Im gegenwärtigen Zeitalter der rasanten Entwicklung des Internets wird PHP als serverseitige Skriptsprache von immer mehr Entwicklern übernommen. PHP hat den Vorteil, dass es leicht zu erlernen, flexibel, Open Source und kostenlos ist und schnell verschiedene Websites und Webanwendungen entwickeln kann. Wenn Sie jedoch als PHP-Entwickler im harten Wettbewerb hervorstechen und effizienten und stabilen Code schreiben möchten, müssen Sie auch die Implementierungsfähigkeiten und Erfahrung verschiedener Funktionen beherrschen. Zunächst einmal ist eine vernünftige Planung der Projektarchitektur der Schlüssel zur Entwicklung von PHP-Anwendungen. Eine gute Projektstruktur kann eine bessere Wartbarkeit des Codes ermöglichen

Welche Methoden werden in der Python-Betriebssystembibliothek häufig verwendet? Welche Methoden werden in der Python-Betriebssystembibliothek häufig verwendet? May 03, 2023 am 09:55 AM

Häufig verwendete Funktionen und Methoden In Python bietet die OS-Bibliothek eine große Anzahl betriebssystembezogener Funktionen und Methoden. Im Folgenden sind einige häufig verwendete Funktionen und Methoden sowie deren ausführliche Einführung, Fälle und vollständige Kommentare aufgeführt: getcwd()-Funktion: Ruft das aktuelle Arbeitsverzeichnis ab. importos#Das aktuelle Arbeitsverzeichnis abrufen current_dir=os.getcwd() print(current_dir) Im obigen Code verwenden wir die Funktion getcwd(), um das aktuelle Arbeitsverzeichnis abzurufen und es der Variablen current_dir zuzuweisen. Diese Funktion gibt eine Zeichenfolge zurück, die den Pfad zum aktuellen Arbeitsverzeichnis darstellt. listdir()-Funktion: Listet alle Dateien und Unterverzeichnisse im angegebenen Verzeichnis i auf

Was bedeutet OS? Was bedeutet OS? Mar 25, 2021 pm 04:00 PM

os hat viele Bedeutungen: 1. Betriebssystem (Betriebssystem), ein Programm, das Computer-Hardware- und Softwareressourcen verwaltet; 2. Open-Source-Code (Open Source); 4. Operator-Station;

Auf die Fallstricke gestoßen: Go-Erfahrung und Unterricht in der Entwicklung von Sprachprojekten Auf die Fallstricke gestoßen: Go-Erfahrung und Unterricht in der Entwicklung von Sprachprojekten Nov 03, 2023 am 08:14 AM

Fallen, auf die man getreten ist: Erfahrungen und Lektionen bei der Entwicklung von Sprachprojekten Auf dem Weg der Softwareentwicklung wird jeder Entwickler unweigerlich auf einige Fallstricke stoßen. Dies ist natürlich keine Ausnahme für Go-Sprachentwickler. In diesem Artikel werden die Fallstricke erläutert, auf die ich bei der Projektentwicklung mit der Go-Sprache gestoßen bin, und ich hoffe, anderen Entwicklern einige Erfahrungen und Lehren zu vermitteln. Verschiedene Versionen der Go-Sprache Wenn wir die Go-Sprache für die Projektentwicklung verwenden, müssen wir auf die Version der Go-Sprache achten. Es kann zu einigen Sprachunterschieden oder API-Änderungen zwischen verschiedenen Versionen kommen

Vertiefte Kenntnisse der Java-GUI-Entwicklungserfahrungen und -vorschläge Vertiefte Kenntnisse der Java-GUI-Entwicklungserfahrungen und -vorschläge Nov 22, 2023 am 10:10 AM

Vertiefte Kenntnisse der Java-GUI-Entwicklung, Erfahrungen und Vorschläge. Als häufig verwendete objektorientierte Programmiersprache spielt Java eine zentrale Rolle in der Softwareentwicklung. In der Java-Entwicklung gehört die Entwicklung von GUI (Graphical User Interface) zu den wichtigen Fähigkeiten, die es in der täglichen Arbeit zu beherrschen gilt. Bei der GUI-Entwicklung wirken sich eine umfassende Benutzeroberfläche und interaktive Leistung direkt auf die Benutzererfahrung und die Benutzerzufriedenheit der Software aus. Daher ist ein umfassendes Verständnis erforderlich

Wie behebt man den Fehler „undefiniert: os.MkdirAll' in Golang? Wie behebt man den Fehler „undefiniert: os.MkdirAll' in Golang? Jun 25, 2023 pm 06:18 PM

Bei der Entwicklung mit der Go-Sprache (Golang) kann der Fehler „undefiniert:os.MkdirAll“ auftreten. Dieser Fehler ist darauf zurückzuführen, dass die Funktion MkdirAll() im Betriebssystempaket im Code aufgerufen wird, die Definition der Funktion jedoch nicht gefunden werden kann, d. h. die Funktion MkdirAll() wird nicht korrekt importiert. In diesem Artikel erklären wir die Ursache dieses Fehlers und wie man ihn beheben kann. „undefiniert:os.Mkdir“ verstehen

See all articles