Maison développement back-end tutoriel php 经验积累,献给PHP爱好者!!!_PHP

经验积累,献给PHP爱好者!!!_PHP

Jun 01, 2016 pm 12:39 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":"";
7、PHP中对数据库操作的封装
我的例子.........见上面附件!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn

Outils d'IA chauds

Undresser.AI Undress

Undresser.AI Undress

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

AI Clothes Remover

AI Clothes Remover

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

Undress AI Tool

Undress AI Tool

Images de déshabillage gratuites

Clothoff.io

Clothoff.io

Dissolvant de vêtements AI

AI Hentai Generator

AI Hentai Generator

Générez AI Hentai gratuitement.

Article chaud

R.E.P.O. Crystals d'énergie expliqués et ce qu'ils font (cristal jaune)
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Meilleurs paramètres graphiques
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Comment réparer l'audio si vous n'entendez personne
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌
R.E.P.O. Commandes de chat et comment les utiliser
4 Il y a quelques semaines By 尊渡假赌尊渡假赌尊渡假赌

Outils chauds

Bloc-notes++7.3.1

Bloc-notes++7.3.1

Éditeur de code facile à utiliser et gratuit

SublimeText3 version chinoise

SublimeText3 version chinoise

Version chinoise, très simple à utiliser

Envoyer Studio 13.0.1

Envoyer Studio 13.0.1

Puissant environnement de développement intégré PHP

Dreamweaver CS6

Dreamweaver CS6

Outils de développement Web visuel

SublimeText3 version Mac

SublimeText3 version Mac

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

Les fans de Mi critiquent, Xiaomi reste, The Paper OS ne peut pas vivre sans Jin Fan ? Les fans de Mi critiquent, Xiaomi reste, The Paper OS ne peut pas vivre sans Jin Fan ? Aug 07, 2024 pm 06:16 PM

"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

L'équipe Fudan NLP a publié un aperçu de 80 pages des agents modèles à grande échelle, fournissant un aperçu de l'état actuel et de l'avenir des agents IA dans un seul article. L'équipe Fudan NLP a publié un aperçu de 80 pages des agents modèles à grande échelle, fournissant un aperçu de l'état actuel et de l'avenir des agents IA dans un seul article. Sep 23, 2023 am 09:01 AM

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 :

Partage d'expérience en développement PHP : expérience et suggestions pour maîtriser la mise en œuvre de diverses fonctions Partage d'expérience en développement PHP : expérience et suggestions pour maîtriser la mise en œuvre de diverses fonctions Nov 22, 2023 pm 12:02 PM

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

Quelles sont les méthodes couramment utilisées dans la bibliothèque Python OS ? Quelles sont les méthodes couramment utilisées dans la bibliothèque Python OS ? May 03, 2023 am 09:55 AM

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

Que signifie os ? Que signifie os ? Mar 25, 2021 pm 04:00 PM

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 rencontrés : expérience et leçons de développement de projets linguistiques Go Pièges rencontrés : expérience et leçons de développement de projets linguistiques Go Nov 03, 2023 am 08:14 AM

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 de développement d'interface graphique Java Compréhension approfondie de l'expérience et des suggestions de développement d'interface graphique Java Nov 22, 2023 am 10:10 AM

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.

Comment résoudre l'erreur « undéfini : os.MkdirAll » dans Golang ? Comment résoudre l'erreur « undéfini : os.MkdirAll » dans Golang ? Jun 25, 2023 pm 06:18 PM

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

See all articles