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

Outils d'IA chauds

Undresser.AI Undress
Application basée sur l'IA pour créer des photos de nu réalistes

AI Clothes Remover
Outil d'IA en ligne pour supprimer les vêtements des photos.

Undress AI Tool
Images de déshabillage gratuites

Clothoff.io
Dissolvant de vêtements AI

AI Hentai Generator
Générez AI Hentai gratuitement.

Article chaud

Outils chauds

Bloc-notes++7.3.1
Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise
Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1
Puissant environnement de développement intégré PHP

Dreamweaver CS6
Outils de développement Web visuel

SublimeText3 version Mac
Logiciel d'édition de code au niveau de Dieu (SublimeText3)

"La démission de Jin Fan" est probablement ce qui inquiète le plus tous les fans de riz dans un avenir proche. Certaines personnes se sont précipitées pour se le dire, marmonnant : "Le système Xiaomi peut être sauvé", tandis que d'autres riaient et se moquaient : "Peu importe. qui le remplace, ce sera pareil." Ce qui est plus intéressant, c'est que la nouvelle de la « démission de Jin Fan » ne vient pas de responsables de Xiaomi ou d'autres initiés, mais parce que certains internautes ont découvert que le Weibo de Jin Fan avait été effacé de tout contenu. Il semblait qu'il s'enfuyait pour éviter les soupçons. , la même chose que la compensation des comptes sociaux. Source : Weibo Cette nouvelle a rapidement attiré l'attention d'un grand nombre de blogueurs et de médias numériques, y compris même des médias faisant autorité tels que Phoenix.com, et elle est soudainement devenue le « melon » le plus récent et le plus en vogue dans le cercle numérique. Bien que Wang Hua, le chef du département des relations publiques de Xiaomi, soit venu réfuter les rumeurs plus tard, affirmant que Jin Fan n'avait pas démissionné, mais qu'il « se retirait » pour travailler pour

Récemment, l'équipe de traitement du langage naturel de l'Université de Fudan (FudanNLP) a lancé un article de synthèse sur les agents basés sur LLM. Le texte intégral compte 86 pages et contient plus de 600 références ! À partir de l'histoire d'AIAgent, les auteurs ont examiné de manière exhaustive l'état actuel des agents intelligents basés sur de grands modèles de langage, notamment : l'arrière-plan, la composition, les scénarios d'application de l'agent basé sur LLM et la société des agents qui a beaucoup attiré l'attention. Dans le même temps, les auteurs ont discuté de questions prospectives et ouvertes liées à Agent, qui sont d'une grande valeur pour les tendances de développement futures des domaines connexes. Lien papier : https://arxiv.org/pdf/2309.07864.pdfListe des documents LLM-basedAgent :

Dans l’ère actuelle de développement rapide d’Internet, PHP, en tant que langage de script côté serveur, est adopté par de plus en plus de développeurs. PHP présente les avantages d'être facile à apprendre, flexible, open source et gratuit, et peut développer rapidement divers sites Web et applications Web. Cependant, en tant que développeur PHP, si vous souhaitez vous démarquer dans une concurrence féroce et écrire du code efficace et stable, vous devez également maîtriser les compétences d'implémentation et l'expérience de diverses fonctions. Tout d’abord, une planification raisonnable de l’architecture du projet est la clé du développement d’applications PHP. Une bonne structure de projet peut fournir une meilleure maintenabilité du code

Fonctions et méthodes couramment utilisées En Python, la bibliothèque os fournit un grand nombre de fonctions et méthodes liées au système d'exploitation. Voici quelques fonctions et méthodes couramment utilisées ainsi que leur introduction détaillée, leurs cas et leurs commentaires complets : Fonction getcwd() : récupère le répertoire de travail actuel. importos#Obtenir le répertoire de travail actuel current_dir=os.getcwd() print(current_dir) Dans le code ci-dessus, nous utilisons la fonction getcwd() pour obtenir le répertoire de travail actuel et l'attribuer à la variable current_dir. Cette fonction renvoie une chaîne représentant le chemin d'accès au répertoire de travail actuel. Fonction listdir() : répertorie tous les fichiers et sous-répertoires du répertoire spécifié i

os a de nombreuses significations : 1. Système d'exploitation (système d'exploitation), un programme qui gère les ressources matérielles et logicielles de l'ordinateur ; 2. Code source ouvert (Open Source) ;

Pièges sur lesquels on a marché : Go expérience et leçons de développement de projets linguistiques Sur la route du développement de logiciels, chaque développeur tombera inévitablement sur certains pièges. Bien entendu, cela ne fait pas exception pour les développeurs du langage Go. Cet article partagera les pièges que j'ai rencontrés lors du développement de projets utilisant le langage Go, dans l'espoir d'apporter de l'expérience et des leçons à d'autres développeurs. Différentes versions du langage Go Lors de l'utilisation du langage Go pour le développement de projets, nous devons faire attention à la version du langage Go. Il peut y avoir des différences de langue ou des modifications d'API entre les différentes versions.

Compréhension approfondie de l'expérience et des suggestions en matière de développement d'interfaces graphiques Java. En tant que langage de programmation orienté objet couramment utilisé, Java joue un rôle central dans le développement de logiciels. Dans le développement Java, le développement de GUI (Graphical User Interface) est l’une des compétences importantes qui doivent être maîtrisées dans le travail quotidien. Dans le développement d'interfaces graphiques, une interface utilisateur riche et des performances interactives affecteront directement l'expérience utilisateur et la satisfaction des utilisateurs du logiciel. Par conséquent, une compréhension approfondie.

Lors du développement à l'aide du langage Go (golang), vous pouvez rencontrer l'erreur « undefined:os.MkdirAll ». Cette erreur est due au fait que la fonction MkdirAll() du package os est appelée dans le code mais que la définition de la fonction est introuvable, c'est-à-dire que la fonction MkdirAll() n'est pas importée correctement. Dans cet article, nous expliquerons la cause de cette erreur et comment y remédier. Comprendre "undefined:os.Mkdir
