当前位置:  编程技术>php
本页文章导读:
    ▪PHP文件上传后缀名与文件类型对照表整理       ie 火狐 id 后缀名 php识别出的文件类型 0 gif image/gif 1 jpg image/jpeg 2 png image/png 3 bmp image/bmp 4 psd application/octet-stream 5 ico image/x-icon 6 rar application/octet-stream 7 zip application/zip 8 7z applicat.........
    ▪简单的php写入数据库类代码分享       不知道原创要写到随笔里。 All right ,第一篇博文。 有三个类: 1 . 过滤输入(轻量级的) class input_filter 负责将参数,如$_GET,$_POST 这些过滤 返回值类型为 数组,用作 made_sql 类的参数 2 . 转.........
    ▪php模拟socket一次连接,多次发送数据的实现代码       代码如下: <?php //post.php function Post($host,$port) { //$host="127.0.0.1"; //建立连接 $conn = fsockopen($host,$port); if (!$conn) { die("Con error"); } //循环发送5次数据 // for($i = 0;$i<5;$i++) { $data="user_name=admin".$i; W.........

[1]PHP文件上传后缀名与文件类型对照表整理
    来源: 互联网  发布时间: 2013-11-30
ie 火狐 id 后缀名 php识别出的文件类型 0 gif image/gif 1 jpg image/jpeg 2 png image/png 3 bmp image/bmp 4 psd application/octet-stream 5 ico image/x-icon 6 rar application/octet-stream 7 zip application/zip 8 7z application/octet-stream 9 exe application/octet-stream 10 avi video/avi 11 rmvb application/vnd.rn-realmedia-vbr 12 3gp application/octet-stream 13 flv application/octet-stream 14 mp3 audio/mpeg 15 wav audio/wav 16 krc application/octet-stream 17 lrc application/octet-stream 18 txt text/plain 19 doc application/msword 20 xls application/vnd.ms-excel 21 ppt application/vnd.ms-powerpoint 22 pdf application/pdf 23 chm application/octet-stream 24 mdb application/msaccess 25 sql application/octet-stream 26 con application/octet-stream 27 log text/plain 28 dat application/octet-stream 29 ini application/octet-stream 30 php application/octet-stream 31 html text/html 32 htm text/html 33 ttf application/octet-stream 34 fon application/octet-stream 35 js application/x-javascript 36 xml text/xml 37 dll application/octet-stream 38 dll application/octet-stream id 后缀名 php识别出的文件类型 0 gif image/gif 1 jpg image/pjpeg 2 png image/x-png 3 bmp image/bmp 4 psd application/octet-stream 5 ico image/x-icon 6 rar application/octet-stream 7 zip application/x-zip-compressed 8 7z application/octet-stream 9 exe application/octet-stream 10 avi video/avi 11 rmvb application/vnd.rn-realmedia-vbr 12 3gp application/octet-stream 13 flv application/octet-stream 14 mp3 audio/mpeg 15 wav audio/wav 16 krc application/octet-stream 17 lrc application/octet-stream 18 txt text/plain 19 doc application/msword 20 xls application/vnd.ms-excel 21 ppt application/vnd.ms-powerpoint 22 pdf application/pdf 23 chm application/octet-stream 24 mdb application/msaccess 25 sql text/plain 26 con application/octet-stream 27 log text/plain 28 dat text/plain 29 ini application/octet-stream 30 php application/octet-stream 31 html text/html 32 htm text/html 33 ttf application/octet-stream 34 fon application/octet-stream 35 js text/html 36 xml text/xml 37 dll application/octet-stream 38 class application/java* application/octet-stream //应用程序
323 text/h323
acx application/internet-property-stream
ai application/postscript
aif audio/x-aiff
aifc audio/x-aiff
aiff audio/x-aiff
asf video/x-ms-asf
asr video/x-ms-asf
asx video/x-ms-asf
au audio/basic
avi video/x-msvideo
axs application/olescript
bas text/plain
bcpio application/x-bcpio
bin application/octet-stream
bmp image/bmp
c text/plain
cat application/vnd.ms-pkiseccat
cdf application/x-cdf
cer application/x-x509-ca-cert
class application/octet-stream
clp application/x-msclip
cmx image/x-cmx
cod image/cis-cod
cpio application/x-cpio
crd application/x-mscardfile
crl application/pkix-crl
crt application/x-x509-ca-cert
csh application/x-csh
css text/css
dcr application/x-director
der application/x-x509-ca-cert
dir application/x-director
dll application/x-msdownload
dms application/octet-stream
doc application/msword
dot application/msword
dvi application/x-dvi
dxr application/x-director
eps application/postscript
etx text/x-setext
evy application/envoy
exe application/octet-stream
fif application/fractals
flr x-world/x-vrml
gif image/gif
gtar application/x-gtar
gz application/x-gzip
h text/plain
hdf application/x-hdf
hlp application/winhlp
hqx application/mac-binhex40
hta application/hta
htc text/x-component
htm text/html
html text/html
htt text/webviewhtml
ico image/x-icon
ief image/ief
iii application/x-iphone
ins application/x-internet-signup
isp application/x-internet-signup
jfif image/pipeg
jpe image/jpeg
jpeg image/jpeg
jpg image/jpeg
jpg image/pjpeg
js application/x-javascript
latex application/x-latex
lha application/octet-stream
lsf video/x-la-asf
lsx video/x-la-asf
lzh application/octet-stream
m13 application/x-msmediaview
m14 application/x-msmediaview
m3u audio/x-mpegurl
man application/x-troff-man
mdb application/x-msaccess
me application/x-troff-me
mht message/rfc822
mhtml message/rfc822
mid audio/mid
mny application/x-msmoney
mov video/quicktime
movie video/x-sgi-movie
mp2 video/mpeg
mp3 audio/mpeg
mpa video/mpeg
mpe video/mpeg
mpeg video/mpeg
mpg video/mpeg
mpp application/vnd.ms-project
mpv2 video/mpeg
ms application/x-troff-ms
mvb application/x-msmediaview
nws message/rfc822
oda application/oda
p10 application/pkcs10
p12 application/x-pkcs12
p7b application/x-pkcs7-certificates
p7c application/x-pkcs7-mime
p7m application/x-pkcs7-mime
p7r application/x-pkcs7-certreqresp
p7s application/x-pkcs7-signature
pbm image/x-portable-bitmap
pdf application/pdf
pfx application/x-pkcs12
pgm image/x-portable-graymap
pko application/ynd.ms-pkipko
pma application/x-perfmon
pmc application/x-perfmon
pml application/x-perfmon
pmr application/x-perfmon
pmw application/x-perfmon
png image/x-png
pnm image/x-portable-anymap
pot, application/vnd.ms-powerpoint
ppm image/x-portable-pixmap
pps application/vnd.ms-powerpoint
ppt application/vnd.ms-powerpoint
prf application/pics-rules
ps application/postscript
pub application/x-mspublisher
qt video/quicktime
ra audio/x-pn-realaudio
ram audio/x-pn-realaudio
ras image/x-cmu-raster
rgb image/x-rgb
rmi audio/mid
roff application/x-troff
rtf application/rtf
rtx text/richtext
scd application/x-msschedule
sct text/scriptlet
setpay application/set-payment-initiation
setreg application/set-registration-initiation
sh application/x-sh
shar application/x-shar
sit application/x-stuffit
snd audio/basic
spc application/x-pkcs7-certificates
spl application/futuresplash
src application/x-wais-source
sst application/vnd.ms-pkicertstore
stl application/vnd.ms-pkistl
stm text/html
sv4cpio application/x-sv4cpio
sv4crc application/x-sv4crc
t application/x-troff
tar application/x-tar
tcl application/x-tcl
tex application/x-tex
texi application/x-texinfo
texinfo application/x-texinfo
tgz application/x-compressed
tif image/tiff
tiff image/tiff
tr application/x-troff
trm application/x-msterminal
tsv text/tab-separated-values
txt text/plain
uls text/iuls
ustar application/x-ustar
vcf text/x-vcard
vrml x-world/x-vrml
wav audio/x-wav
wcm application/vnd.ms-works
wdb application/vnd.ms-works
wks application/vnd.ms-works
wmf application/x-msmetafile
wps application/vnd.ms-works
wri application/x-mswrite
wrl x-world/x-vrml
wrz x-world/x-vrml
xaf x-world/x-vrml
xbm image/x-xbitmap
xla application/vnd.ms-excel
xlc application/vnd.ms-excel
xlm application/vnd.ms-excel
xls application/vnd.ms-excel
xlt application/vnd.ms-excel
xlw application/vnd.ms-excel
xof x-world/x-vrml
xpm image/x-xpixmap
xwd image/x-xwindowdump
z application/x-compress
zip application/zip -firefox
application/x-zip-compressed -IE

    
[2]简单的php写入数据库类代码分享
    来源: 互联网  发布时间: 2013-11-30
不知道原创要写到随笔里。
All right ,第一篇博文。
有三个类:
1 . 过滤输入(轻量级的)
class input_filter
负责将参数,如$_GET,$_POST 这些过滤
返回值类型为 数组,用作 made_sql 类的参数
2 . 转换成SQL语句
class made_sql
参数的类型为数组和表名(字符串),数组的键名为表的列名,值为插入值
返回值类型为 字符串 ,用作 mysql ->query方法 的参数
3 . 数据库查询
class mysql
用到了单列模式,用静态方法来获取对象,具体参看 instanceof操作符的作用
代码如下:

class input_filter
{
private $input_all; // 要过滤的数组
private $rustle; // 过滤后的结果
//构造函数 参数可以是$_GET or $_POST 这些
public function __construct($input_C)
{
if(is_array($input_C))
$this->input_all = $input_C ;
else
echo 'Parameter is not valid';
//初始化,不然后面第一次合并数组PHP不知道这是什么类型
$this->rustle = array();
}
private function filter_arr() // 主函数
{
foreach ($this->input_all as $key_input => $val_input)
{
//如果键名不是字符串,那么返回错误信息
// for key
if(!is_string($key_input)) // error
{
echo 'This key is not string';
return false;
}
// The # is mysql Note .
$key_one = str_replace('#','',$key_input);
$key = htmlspecialchars($key_one,ENT_QUOTES,'UTF-8');
// 我没找 # 的HTML转义符,所以用空代替
$val_one = str_replace('#','',$val_input);
// 这个函数只转化 < > ' " ,还有个类似函数会转义所有符号
$val = htmlspecialchars($val_one,ENT_QUOTES,'UTF-8');
// merger
$rustle_one = array($key=>$val);
//合并数组
$this->rustle = array_merge($this->rustle,$rustle_one);
}
}
//这个函数有点多余,留下以后扩展用
public function get_filter_rustle()
{
$this->filter_arr();
return $this->rustle ;
}
}

调用方法:
代码如下:

$filter = new filter_input($_GET) ; // or $_POST
$input_data = $filter->get_filter();

转换成SQL语句:
代码如下:

class madesql
{
private $Cnow_ary; // type array 传入的参数
private $Cname_str;
private $insert_sql; //最终的sql语句 string type
public function __construct($Cary,$Cname)
{
//检查传入参数类型是否为数组
if (! is_array($Cary))
return false;
else
$this->Cnow_ary = $Cary; // 写入的值
$this->Cname_str = $Cname; // 数据库表名称
25 }
private function setSql() // 主函数 ,生产SQL语句
{
foreach ( $this->Cnow_ary as $key_ary => $val_ary )
{
$cols_sql = $cols_sql.','.$key_ary; //列名组合
$vals_sql = $vals_sql.', \''.$val_ary.'\'' ; //值 组合
}
// 因为前面foreach的算法有点问题,第一个字符是逗号
// 所以用sunstr_replace()删除 ,自第一位起(0),只替换一个字符(1)
$cols_sql = substr_replace($vals_sql,'',0,1);
$vals_sql = substr_replace($vals_sql,'',0,1);
$this->insert_sql =
'INSERT INTO '.$this->Cname_str.' ( '
.$cols_sql.' ) VALUES ( '.$vals_sql.' )'; // 语句成型
}
//扩展用
public function getSql()
{
$this->setSql();
return $this->insert_sql;
}
}

3 . 数据库查询
数据库查询类是参照书上的单列模式(用静态方法获取对象,这样在一个脚本里只有一个数据库查询类的实例)
我想单例模式用于这个类还是有点用的
代码如下:

class mysql
{
private $connect;
static $objectMysql; // 存放对象
private function __construct() 7 {
// 创建对象的时候这个构造函数会被调用,用来初始化
$connect = mysql_connect('db address','password','dbname');
$this->db = mysql_select_db('db',$connect);
}
public static function Mysql_object()
{
//instanceof 操作符用于检查对象是否属于某个类或者接口的实例。我说的不是很规范...
//如果$objectMysql不是mysql(self)的实例,那么就创建一个
if(! self::$objectMysql instanceof self)
self::$objectMysql = new mysql();
//这时候的$objectMysql就已经是一个对象
return self::$objectMysql;
}
public function query($sql)
{
return mysql_query($sql,$this->db);
}
}
  

All right ,归纳一下使用方法
代码如下:

$filter = new filter_input($_GET) ; // or $_POST
$input_data = $filter->get_filter();
$madeSql = new madesql($input_data,'tableName');
$sql = $madeSql->getSql();
$mysql = mysql::Mysql_object() ;
if( $mysql->query($sql) )
echo 'Ok';
else
echo 'failure';

只需要这几行调用代码即可以完成写入数据库的操作
另外再说一下构造函数的私有公有问题,书上的mysql单例模式中构造函数是声明为了private ,而没有单例模式的类如此则会产生编译错误,即 PHP 不能创建一个对象 ,查了下。

原因在于创建对象往往在类外面进行,这样就产生了无法访问构造函数的问题。 而单列模式是在自身类中创建对象,因此访问private方法没有限制。

原先以为单例模式只是防止创建相同的对象,现在看来单例模式可以将构造函数封装起来,确实提高了安全性
  filter_input类 的结果可以直接用作 madesql类 的参数的 前提是 :
表单的name必须和数据库的列名相同,否则你就白看这么多

    
[3]php模拟socket一次连接,多次发送数据的实现代码
    来源: 互联网  发布时间: 2013-11-30
代码如下:

<?php
//post.php
function Post($host,$port)
{
//$host="127.0.0.1";
//建立连接
$conn = fsockopen($host,$port);
if (!$conn)
{
die("Con error");
}
//循环发送5次数据
//
for($i = 0;$i<5;$i++)
{
$data="user_name=admin".$i;
WriteData($conn,$host,$data);
echo $i."<br />";
}
fclose($conn);
}
function WriteData($conn,$host,$data)
{
$header = "POST /test.php HTTP/1.1\r\n";
$header.= "Host : {$host}\r\n";
$header.= "Content-type: application/x-www-form-urlencoded\r\n";
$header.= "Content-Length:".strlen($data)."\r\n";
//Keep-Alive是关键
$header.= "Connection: Keep-Alive\r\n\r\n";
$header.= "{$data}\r\n\r\n";
fwrite($conn,$header);
//取结果
//$result = '';
//while(!feof($conn))
//{
// $result .= fgets($conn,128);
//}
//return $result;
}
Post('127.0.0.1',80);
?>

代码如下:

<?php
//test.php
$fp = fopen('result.txt','a');
$data = $_POST['user_name']." -- ". date('Y-m-d H:i:s')."\r\n";
fwrite($fp,$data);
fclose($fp);
?>

    
最新技术文章:
▪PHP函数microtime()时间戳的定义与用法
▪PHP单一入口之apache配置内容
▪PHP数组排序方法总结(收藏)
▪php数组排序方法大全(脚本学堂整理奉献)
▪php数组排序的几个函数(附实例)
▪php二维数组排序(实例)
▪php根据键值对二维数组排序的小例子
▪php验证码(附截图)
▪php数组长度的获取方法(三个实例)
▪php获取数组长度的方法举例
▪判断php数组维度(php数组长度)的方法
▪php获取图片的exif信息的示例代码
▪PHP 数组key长度对性能的影响实例分析
▪php函数指定默认值的方法示例
▪php提交表单到当前页面、提交表单后页面重定...
▪php四舍五入的三种实现方法
▪php获得数组长度(元素个数)的方法
▪php日期函数的简单示例代码
▪php数学函数的简单示例代码
▪php字符串函数的简单示例代码
▪php文件下载代码(多浏览器兼容、支持中文文...
▪php实现文件下载、支持中文文件名的示例代码...
▪php文件下载(防止中文文件名乱码)的示例代码
▪解决PHP文件下载时中文文件名乱码的问题
▪php数组去重(一维、二维数组去重)的简单示例
▪php小数点后取两位的三种实现方法
▪php Redis 队列服务的简单示例
▪PHP导出excel时数字变为科学计数的解决方法
▪PHP数组根据值获取Key的简单示例
▪php数组去重的函数代码示例
 


站内导航:


特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

©2012-2021,,E-mail:www_#163.com(请将#改为@)

浙ICP备11055608号-3