PHP中的一些经验积累_PHP
最近刚刚完成手中的项目,比较闲。来这儿转转,把积累的一些技巧分享给大家!
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?"":"";
方法二:
$newTag=$db->rows[$i][date]>=date("Y-m-d 00:00:00")?"":"";

Heiße KI -Werkzeuge

Undresser.AI Undress
KI-gestützte App zum Erstellen realistischer Aktfotos

AI Clothes Remover
Online-KI-Tool zum Entfernen von Kleidung aus Fotos.

Undress AI Tool
Ausziehbilder kostenlos

Clothoff.io
KI-Kleiderentferner

AI Hentai Generator
Erstellen Sie kostenlos Ai Hentai.

Heißer Artikel

Heiße Werkzeuge

Notepad++7.3.1
Einfach zu bedienender und kostenloser Code-Editor

SublimeText3 chinesische Version
Chinesische Version, sehr einfach zu bedienen

Senden Sie Studio 13.0.1
Leistungsstarke integrierte PHP-Entwicklungsumgebung

Dreamweaver CS6
Visuelle Webentwicklungstools

SublimeText3 Mac-Version
Codebearbeitungssoftware auf Gottesniveau (SublimeText3)

Heiße Themen

„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

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:

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

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

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

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-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

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
