mimetypephp
vi /etc/ld.so.conf.d/local.conf //创建local.conf
/usr/local/lib //添加输入
ldconfig -v //执行命令
❷ php获取文件mime类型的几种方法
MIME类型就是设定某种扩展名的文件用一种应用程序来打开的方式类型,当该扩展名文件被访问的时候,浏览器会自动使用指定应用程序来打开。多用于指定一些客户端自定义的文件名,以及一些媒体文件打开方式。
php获取文件mime类型有以下几种方法:
1、mime_content_type()函数判断获取mime类型
mime_content_type返回指定文件的MIME类型,
用法:echomime_content_type('php.gif') .
"
";echomime_content_type('test.php');输出:image/giftext/plain但是php 5.3.0已经将该函数废弃。如果仍想使用此函数,那么可以对php进行配置启用magic_mime扩展。
2、php Fileinfo 获取文件MIME类型(finfo_open)
PHP官方推荐mime_content_type()的替代函数是Fileinfo函数。PHP
5.3.0+已经默认支持Fileinfo函数(fileinfo
support-enabled),不必进行任何配置即可使用finfo_open()判断获取文件MIME类型。
用法:$finfo = finfo_open(FILEINFO_MIME);
$mimetype = finfo_file($finfo, $filename);
finfo_close($finfo);
3、image_type_to_mime_type()获取图片MIME类型
注意:需要在php.ini中配置打开php_mbstring.dll(Windows需要)和extension=php_exif.dll。
4、php上传文件获取MIME类型
如果使用php上传文件,检测上传文件的MIME类型,则可以使用全局变量$_FILES['uploadfile']['type'],由客户端的浏览器检测获取文件MIME类型。
❸ PHP如何判断是否是MP3文件
php判断是否是mp3其实就是判断文件的MIME类型,其中mp3的MIME类型为 audio/mpeg
以下几种方法可以获得文件的MIME类型,得到文件类型后就可以进行判断了:
1、mime_content_type()函数判断获取文件类型,然后判断是否是mp3
mime_content_type返回指定文件的MIME类型,用法:
echomime_content_type('xxx.mp3')."n";
echomime_content_type('test.php');
//输出:
audio/mpeg
text/plain
但是php 5.3.0已经将该函数废弃。如果仍想使用此函数,那么可以对php进行配置启用magic_mime扩展。
2、php Fileinfo 获取文件类型(finfo_open)
PHP官方推荐mime_content_type()的替代函数是Fileinfo函数。PHP 5.3.0+已经默认支持Fileinfo函数(fileinfo support-enabled),不必进行任何配置即可使用finfo_open()判断获取文件MIME类型。
用法:
$finfo=finfo_open(FILEINFO_MIME);
$mimetype=finfo_file($finfo,$filename);
finfo_close($finfo);
3、php获取上传文件类型
如果使用php上传文件,检测上传文件的MIME类型,则可以使用全局变量$_FILES['uploadfile']['type'],由客户端的浏览器检测获取文件MIME类型。
得到MIME类型后,再判断是不是audio/mpeg 即可
❹ php获取post数据
方法1、最常见的方法是:$_post['fieldname'];
说明:只能接收content-type:
application/x-www-form-urlencoded提交的数据
解释:也就是表单post过来的数据
方法2、file_get_contents("php://input");
说明:
允许读取
post
的原始数据。
和
$http_raw_post_data
比起来,它给内存带来的压力较小,并且不需要任何特殊的
php.ini
设置。
php://input
不能用于
enctype="multipart/form-data"。
解释:
对于未指定
content-type
的post数据,则可以使用file_get_contents(“php://input”);来获取原始数据。
事实上,用php接收post的任何数据都可以使用本方法。而不用考虑content-type,包括二进制文件流也可以。
所以用方法二是最保险的方法
方法3、$globals['http_raw_post_data'];
说明:
总是产生
$http_raw_post_data
变量包含有原始的
post
数据。
此变量仅在碰到未识别
mime
类型的数据时产生。
$http_raw_post_data
对于
enctype="multipart/form-data"
表单数据不可用
如果post过来的数据不是php能够识别的,可以用
$globals['http_raw_post_data']来接收,
比如
text/xml
或者
soap
等等
解释:
$globals['http_raw_post_data']存放的是post过来的原始数据。
$_post或$_request存放的是
php以key=>value的形式格式化以后的数据。
但$globals['http_raw_post_data']中是否保存post过来的数据取决于centent-type的设置,即post数据时
必须显式示指明content-type:
application/x-www-form-urlencoded,post的数据才会存放到
$globals['http_raw_post_data']中
❺ php文件上传RAR的mime类型
首先要建立一个文件夹和两个文件,具体如下:
File ——————文件夹,用于存放上传的文件。
choose.htm ——————htm文件,用于选择上传的文件。
upload.php ——————php文件,用于处理上传的文件。
第一步:建立 File 文件夹。
第二步:建立 choose.htm 文件,代码如下:
____________________________________________________________________________________________________________
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="hidden" name="MAX_FLIE_SIZE" value="1000000" />
上传此文件:
<input name="userfile" type="file" id="userfile" />
<input type="submit" name="Submit" value="上传" />
</form>
____________________________________________________________________________________________________________
第三步:建立 upload.php 文件,代码如下:
____________________________________________________________________________________________________________
<?php
//上传文件错误判定
if($_FILES['userfile']['error']>0)
{
echo '错误:';
switch($_FILES['userfile']['error'])
{
case 1: echo '文件尺寸超过允许的最大上传限度!'; break;
case 2: echo '文件尺寸超过允许的最大上传限度!'; break;
case 3: echo '只有部分文件被上传!'; break;
case 4: echo '没有任何文件被上传!'; break;
}
exit;
}
//上传文件格式判定
if($_FILES['userfile']['type'] !='text/plain')
{
echo '错误:非法文件格式!';
exit;
}
//设置文件保存路径
$upfile = './File/' . $_FILES['userfile']['name'];
if(is_uploaded_file($_FILES['userfile']['tmp_name']))
{
if(!move_uploaded_file($_FILES['userfile']['tmp_name'],$upfile))
{
echo '错误:没有将文件移动到指定目录!';
exit;
}
}
else
{
echo '错误:可能文件上传被攻击!文件名:';
echo $_FILES['userfile']['name'];
}
echo '文件上传成功!';
//格式化上传的文件
$fp = fopen($upfile,'r');
$contents = fread($fp,filesize($upfile));
fclose($fp);
$contents = strip_tags($contents);
$fp = fopen($upfile,'w');
fwrite($fp,$contents);
fclose($fp);
//显示上传文件内容
echo '上传文件的内容为:';
echo $contents;
?>
____________________________________________________________________________________________________________
测试一下:
1、建立一个 123.txt 文件,里面输入一些纯文本字符,比如 abc,上传成功!
2、我们再来试看其他后缀名,如.exe,.php,.htm之类的,只要非txt,就将导致失败!
3、把任意一个大于1M的文件名改为123.txt并上传,我们将发现超过限制大小的文件将导致上传失败!
4、将123.txt的内容改掉,删除所有内容,输入 <html>HTML code</html>,保存并上传,我们会发现上传失败!
5、将123.txt的内容改掉,删除所有内容,输入 <?php echo'PHP code'; ?>保存并上传,我们会发现 File 文件夹中有一个0字节的,没有任何内容的123.txt文件!
❻ PHP图像处理函数有哪些
我在网上找了半天,发现这些都无法实现对它的认识,于是我偶然间找到了相关的资料方面的书;
那就是PHP 手册,表在网上找这些没用的东西了,全是些皮毛介绍,误人子弟;
请点击这里:网页链接下载相关的手册,或者在网上查找PHP相关的中文版的手册;
又全面又仔细,不需要在网上乱查了,根本就是浪费时间,误入歧途.
例子 1. 用 PHP 创建 PNG 图像
<?phpheader("Content-type: image/png");
$string = $_GET['text'];
$im= imagecreatefrompng("images/button1.png");
$orange = imagecolorallocate($im,
220, 210, 60);
$px= (imagesx($im) - 7.5
* strlen($string)) /
2;
imagestring($im, 3, $px, 9, $string, $orange);
imagepng($im);
imagedestroy($im);
?>
本例应该在一个具有类似:<img
src="button.php?text=text"> 标签的页面中被调用。上述的 button.php 脚本会取得 "text"
字符串将其覆盖在原图上(本例中的
"images/button1.png")并输出作为结果的图像。用此方法可以很方便地修改按钮上的文字从而避免了每次都要新画一个按钮的图像。用此方法就可以动态生成了。
目录
exif_imagetype--判断一个图像的类型
exif_read_data-- 从 JPEG 或 TIFF 文件中读取 EXIF 头信息,这样就可以读取数码相机产生的元数据
exif_thumbnail--取得嵌入在 TIFF 或
JPEG 图像中的缩略图gd_info--取得当前安装的 GD 库的信息
getimagesize--取得图像大小
image_type_to_mime_type-- 取得
getimagesize,exif_read_data,exif_thumbnail,exif_imagetype 所返回的图像类型的 MIME 类型image2wbmp--以 WBMP 格式将图像输出到浏览器或文件
imagealphablending--设定图像的混色模式
imageantialias--是否使用 antialias
功能imagearc--画椭圆弧
imagechar--水平地画一个字符
imagecharup--垂直地画一个字符
imagecolorallocate--为一幅图像分配颜色
imagecolorallocatealpha--为一幅图像分配颜色
+ alphaimagecolorat--取得某像素的颜色索引值
imagecolorclosest--取得与指定的颜色最接近的颜色的索引值
imagecolorclosestalpha--取得与指定的颜色
+ alpha 最接近的颜色imagecolorclosesthwb--
取得与给定颜色最接近的色度的黑白色的索引imagecolordeallocate--取消图像颜色的分配
imagecolorexact--取得指定颜色的索引值
imagecolorexactalpha--取得指定的颜色 +
alpha 的索引值imagecolormatch--
使一个图像中调色板版本的颜色与真彩色版本更能匹配imagecolorresolve--
取得指定颜色的索引值或有可能得到的最接近的替代值imagecolorresolvealpha--
取得指定颜色 + alpha 的索引值或有可能得到的最接近的替代值imagecolorset--给指定调色板索引设定颜色
imagecolorsforindex--取得某索引的颜色
imagecolorstotal--取得一幅图像的调色板中颜色的数目
imagecolortransparent--将某个颜色定义为透明色
image--拷贝图像的一部分
imagemerge--拷贝并合并图像的一部分
imagemergegray--用灰度拷贝并合并图像的一部分
imageresampled--重采样拷贝部分图像并调整大小
imageresized--拷贝部分图像并调整大小
imagecreate--新建一个基于调色板的图像
imagecreatefromgd2--从 GD2
文件或 URL 新建一图像imagecreatefromgd2part--从给定的
GD2 文件或 URL 中的部分新建一图像imagecreatefromgd--从 GD 文件或
URL 新建一图像imagecreatefromgif--从 GIF
文件或 URL 新建一图像imagecreatefromjpeg--从
JPEG 文件或 URL 新建一图像imagecreatefrompng--从 PNG
文件或 URL 新建一图像imagecreatefromstring--从字符串中的图像流新建一图像
imagecreatefromwbmp--从
WBMP 文件或 URL 新建一图像imagecreatefromxbm--从 XBM
文件或 URL 新建一图像imagecreatefromxpm--从 XPM
文件或 URL 新建一图像imagecreatetruecolor--新建一个真彩色图像
imagedashedline--画一虚线
imagedestroy--销毁一图像
imageellipse--画一个椭圆
imagefill--区域填充
imagefilledarc--画一椭圆弧且填充
imagefilledellipse--画一椭圆并填充
imagefilledpolygon--画一多边形并填充
imagefilledrectangle--画一矩形并填充
imagefilltoborder--区域填充到指定颜色的边界为止
imagefontheight--取得字体高度
imagefontwidth--取得字体宽度
imageftbbox--取得使用了 FreeType 2
字体的文本的范围imagefttext--使用 FreeType 2
字体将文本写入图像imagegammacorrect--对 GD 图像应用
gamma 修正imagegd2--输出 GD2 图像
imagegd--将 GD 图像输出到浏览器或文件
imagegif--以 GIF 格式将图像输出到浏览器或文件
imageinterlace--激活或禁止隔行扫描
imageistruecolor--检查图像是否为真彩色图像
imagejpeg--以 JPEG 格式将图像输出到浏览器或文件
imagelayereffect-- Set the
alpha blending flag to use the bundled libgd layering effectsimageline--画一条直线
imageloadfont--载入一新字体
imagepalette--将调色板从一幅图像拷贝到另一幅
imagepng--以 PNG 格式将图像输出到浏览器或文件
imagepolygon--画一个多边形
imagepsbbox--取得使用 PostScript Type1
字体的文本的范围imagepsfont--
拷贝一个已加载的字体以备更改imagepsencodefont--改变字体中的字符编码矢量
imagepsextendfont--扩充或压缩字体
imagepsfreefont--释放一个
PostScript Type 1 字体所占用的内存imagepsloadfont--从文件中加载一个
PostScript Type 1 字体imagepsslantfont--倾斜某字体
imagepstext--用 PostScript Type1
字体把文本字符串画在图像上imagerectangle--画一个矩形
imagerotate--用给定角度旋转图像
imagesavealpha-- 设置标记以在保存 PNG
图像时保存完整的 alpha 通道信息(与单一透明色相反)imagesetbrush--设定画线用的画笔图像
imagesetpixel--画一个单一像素
imagesetstyle--设定画线的风格
imagesetthickness--设定画线的宽度
imagesettile--设定用于填充的贴图
imagestring--水平地画一行字符串
imagestringup--垂直地画一行字符串
imagesx--取得图像宽度
imagesy--取得图像高度
imagetruecolortopalette--将真彩色图像转换为调色板图像
imagettfbbox--取得使用 TrueType
字体的文本的范围imagettftext--用 TrueType
字体向图像写入文本imagetypes--返回当前 PHP 版本所支持的图像类型
imagewbmp--以 WBMP 格式将图像输出到浏览器或文件
iptcembed--将二进制 IPTC 数据嵌入到一幅 JPEG
图像中iptcparse-- 将二进制 IPTC http://www.iptc.org/ 块解析为单个标记
jpeg2wbmp--将 JPEG 图像文件转换为 WBMP 图像文件
png2wbmp--将 PNG 图像文件转换为 WBMP 图像文件
read_exif_data--exif_read_data() 的别名
❼ Content-Encoding设置为utf-8和application/json的区别
不是同一个东西, mime-type,encoding是content-type两个组成部分
前者代表请求的资源是什么类型的资源:文本,还是图片,还是应用程序等等
application/json代表请求的资源是:应用程序类型下的,json类型(某类型/子类型)
类似的,也会遇到 img/bmp , text/plain
服务器和浏览器会根据不同的mime类型来解析请求,并做出相应回应:比如服务器收到.php的请求,如果设置正确,一般对应是 application类型,服务器就会用相应的用处理程序映射去执行这个php,比如客户端收到application/json的响应,就知道返回来的是一个json字符串,比如收到img/jpg,就知道是个jpg图片。有的时候打开一个网页,会发现它显示的是网页源代码,而不是一个正常的页面,这种情况多半就是服务器上mime的问题,可能是设置错了,也可能是没有添加相应的处理程序映射。
encoding代表编码,客户端和服务器通信的时候,所有数据都会变成二进制来传输,碰到英文字符数字这些还好,如果是汉字,不同编码下它的二进制内容是完全不一样的,所以必须两边统一编码才可以正常通信。碰到100次网页乱码,其中至少有95次是因为编码不一致造成的,所以试着切换一下不同的编码,多半会发现乱码变正常
❽ 求助~~~~
IIS应该不支持PHP的,你要下些东西修改你的IIS,具体你可以自己查下~~~
另外你可以在你机子上装PHP+apache+MySQL+ZendOptimizer的一套系统,我的是装在windows XP上的,请参考下面的内容~~~~