Ⅰ php 上传文件
刚学php时写的一个类,可以给你参考下,你所说的功能基本上也都有。
这个用作学习还是不错的。
<?php
classfileup{
private$savefilepath;//保存路径
private$filetype=array('gif','jpg','jpeg','png');//文件类型
private$maxsize=1000000;//上传最大的尺寸默认值设置为1M
private$savename=true;//是否默认随机名称
private$upfileform;//上传文件表单的name值
//以下是不可以修改的成员属性
private$tmpname;//上传的临时文件名
private$upfilename;//上传文件的名称
private$uperror;
private$newname;//新的文件名
//private$upfiletype;//上传文件的类型
private$upfilesize;//上传文件的大小。
private$filehz;//文件名的扩展名。
//构造方法
function__construct($upfileform,$savefilepath='./upload/'){
$this->upfileform=$upfileform;
$this->savefilepath=rtrim($savefilepath,'/');
$this->tmpname=$_FILES[$upfileform]['tmp_name'];
$this->upfilename=$_FILES[$upfileform]['name'];
$this->upfilesize=$_FILES[$upfileform]['size'];
$this->uperror=$_FILES[$upfileform]['error'];
$this->getnewname();
}
//设置文件上传的参数,不设置为默认值。
functionsetfilepar($par){
$pars=array('filetype','maxsize','savename');
foreach($paras$key=>$value){
if(in_array($key,$pars)){
$this->$key=$value;
}else{
continue;
}
}
}
//检查上传
privatefunctioncheckfileup(){
//判断文件夹是否正确或文件夹是否有可写入的权限。
if(!is_dir($this->savefilepath)||!is_writable($this->savefilepath)){
$this->uperror=8;
returnfalse;
}
//判断文件名是否存在
if(is_file($this->newname)){
$this->uperror=9;
returnfalse;
}
//判断上传文件的类型是否正确。
if(!in_array(strtolower($this->filehz),$this->filetype)){
$this->uperror=-1;
returnfalse;
}
returntrue;
}
//获取新的文件名字
privatefunctiongetnewname(){
$tmp=explode('.',$this->upfilename);
$this->filehz=$tmp[count($tmp)-1];
if(is_bool($this->savename)){
if($this->savename){
$this->newname=$this->savefilepath.'/'.date('YmdHis').rand(10000,99999).'.'.$this->filehz;
}else{
$this->newname=$this->savefilepath.'/'.$this->upfilename;
}
}else{
$this->newname=$this->savefilepath.'/'.$this->savename.'.'.$this->filehz;
}
}
//获取错误信息
privatefunctiongetuperror(){
switch($this->uperror){
case1:echo'上传文件超过了系统指定的大小';break;
case2:echo'上传文件超过了表单中指定的大小';break;
case3:echo'文件只有部分上传';break;
case4:echo'没有文件上传';break;
case6:echo'找不到上传的文件,系统错误';break;
case7:echo'文件写入失败';break;
case8:echo'文件路径不存在,或不可写';break;
case9:echo'文件名已经存在,请不要重复上传';break;
case-1:echo'不是指定上传的文件';break;
case-2:echo'请勿使用非法途径上传';break;
case-3:echo'文件上传失败';break;
default:'未知错误';break;
}
}
functionfileupload(){
if(!$this->checkfileup()||$this->uperror!=0){
$this->getuperror();
returnfalse;
}else{
if(!is_uploaded_file($_FILES[$this->upfileform]['tmp_name'])){
$this->uperror=-2;
$this->getuperror();
returnfalse;
}else{
if(move_uploaded_file($_FILES[$this->upfileform]['tmp_name'],$this->newname)){
returntrue;
}else{
$this->uperror=-3;
returnfalse;
}
}
}
}
//获取文件名
functiongetname(){
return$this->newname;
}
}
Ⅱ php 上传中修改扩展名jpeg改jpg
你的filename是MemberUploads这个方法生成出来的
你不贴MemberUploads这个方法的代码,怎么帮你。。。
实际上,要把jpeg的图片改为jpg格式,只是改一下后缀名而已,不需要重绘图片
也就是说只要那个filename生成出来,路径里边那个文件的后缀是jpg就可以了~不需要额外的操作
也许这样也可以。。。
$filename=MemberUploads('imgfile'.$i,'',$cfg_ml->M_ID,'image','',0,0,true);
if(false!=stripos($filename,'.jpeg')){
$filename=str_ireplace('.jpeg','.jpg',$name);
}
Ⅲ PHP程序文件的扩展名通常使用
php。
文件中的.php扩展名被称为PHP源代码文件,而这些文件PHP实现动态Web页面的交互功能。
PHP文件的内容是一组超文本预处理器的代码,可以让网页来收集由观众输入的信息,处理该数据,将其存储到指定的服务器的数据库和检索来自Web服务器的特定数据库的细节。
Ⅳ 用PHP开发扩展名是什么
PHP文件的扩展名为.php
Ⅳ php 验证上传的文件类型为图片,并获得文件的后缀名
以下是我上传了一个图片后显示的 $_FILES['filename']的信息
[filename] => Array
(
[name] => Winter.jpg
[type] => image/jpeg
[tmp_name] => /tmp/php2jw7QX
[error] => 0
[size] => 105542
)
其中type是文件类型的minitype 表示方法,例如普通的HTML的类型是text/html
如果你想用扩展名的方式判断的话可以用以下代码:
<?php
#允许的文件扩展名
$allowed_types = array('jpg', 'gif', 'png');
$filename = $_FILES['filename']['name'];
#正则表达式匹配出上传文件的扩展名
preg_match('|\.(\w+)$|', $filename, $ext);
#print_r($ext);
#转化成小写
$ext = strtolower($ext[1]);
#判断是否在被允许的扩展名里
if(!in_array($ext, $allowed_types)){
die('不被允许的文件类型');
}
?>
Ⅵ php 上传中修改扩展名jpeg改jpg
你查看一下这个变量是哪儿定义的
$filename
在这个变量定义的部分修改即可,我看了你这方法,$filename突然在最后面就出现了(不知道是你这方法缺了,还是一个全局变量),现在$filename是不在这个方法里头的!
注:这方法里头组装后的路径为:$cfg_basedir.$filename($filename应该是文件名以及后缀,你修改这个$filename的定义部分就可以)
Ⅶ php中怎么取的上传文件的扩展名
查上传文件名,strrchr 用这个函数截取最后一个.到最后的子字符串,就是扩展名了
Ⅷ php上传文件是,判断是否csv文件的文件类型怎么写
$_FILES接收到文件信息是个数组。
其中$_FILES['myFile']['name']客户端文件的原名称,
您用‘.’来分割$_FILES['myFile']['name']分成一个索引数组,这个数组的最后一个值就是文件的扩展名。
或者你从最后一个“.”位置截取$_FILES['myFile']['name'],截取到最后。得到的结果也是文件的扩展名;
$_FILES['myFile']['type']得到的是文件的 MIME类型,这个并不能很好的反映文件的扩展名,
例如:
MIME类型为“text/html”,这个类型对应.html .htm .stm三种文件扩展名
MIME类型为“text/plain”,对应的是.c .txt .h .bas四种文件扩展名
Ⅸ php上传图片没有文件名后缀
$filename = basename($_FILES['image']['name']);
$file_ext = strtolower(substr($filename, strrpos($filename, '.') + 1));
echo $file_ext;
请楼主先试试用这几句看是否能获取到后缀名
一般来说,即使系统没有显示后缀名,在php上传中也是可以获取到后缀名的
还有,就是要检查一下,move_uploaded_file函数里,目标地址的图片名称是否拼接了后缀名
Ⅹ php获取上传文件扩展名$filename= md5(time().rand(0,9).$_FILES["filedata"]["name"]).".bmp";
$filename=md5(time().rand(0,9).$_FILES["filedata"]["name"]).'.'.pathinfo($_FILES["filedata"]["name"],PATHINFO_EXTENSION);