经验积累,献给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")?"":"";
7、PHP中对数据库操作的封装
我的例子.........见上面附件!

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

Video Face Swap
Tauschen Sie Gesichter in jedem Video mühelos mit unserem völlig kostenlosen KI-Gesichtstausch-Tool aus!

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

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

Einleitung: Die Entwicklung starker künstlicher Intelligenz war in den letzten Jahren ein besorgniserregendes Thema. Viele Forscher konzentrieren sich darauf, die KI aus der Wahrnehmung und dem Verhalten des Menschen lernen zu lassen und nicht nur aus einfach etikettierten Daten. Unter anderem ist die Frage, wie man die von Menschen erworbenen Alltagserfahrungen nutzen kann, um künstliche Intelligenz zu inspirieren und aufzubauen, die sich an verschiedene Umgebungen anpassen und mit der Außenwelt interagieren kann, in einigen Bereichen zu einer neuen Forschungsmethode geworden. Richard Sutton, bekannt als Vater des Reinforcement Learning, schlug kürzlich die Idee vor, Erfahrungen zu nutzen, um die Entwicklung von KI zu inspirieren. Er unterteilte den Prozess der KI von der Nutzung von Daten bis zur Nutzung von Erfahrungen in vier Entwicklungsstufen und schlug die Entwicklungsrichtung für den Aufbau echter KI (Real AI) in der Zukunft vor. Am 31. Mai 2022 hielt Richard Sutton eine Rede auf der Beijing Intelligent Source Conference 2022
