文件管理 · 2022年8月4日

php判断是否有文件上传|php上传文件

1. php文件上传时对是否已选择文件的判断

uploadinghandel.php中第二个if中的$_POST['upfile']前面的!号去掉试试

2. php上传文件

根据你的程序,重新写了一套,你自己看一下吧,后面都有相关的标注,会加深印象,你原程序那个$filename是程序原本的文件名,没得到的话,真让我感觉匪夷所思……不管了,重写一个吧,你给的信息也太少了,到底怎么回事也没弄明白。哦哦,忽然想到一种可能啊,你好好检查一下你的数据库字段,看看是不是char 类型,或text,或varcharf都可以,别是其它不支持的类型哦,这点很重要,不然我这套程序,依旧你也写不进去!!!<?php include "conn.php";mysql_select_db("mydb");if(is_uploaded_file|$_FILES['Filedata']['tmp_name']){ //这一句是用来判断是否有文件上传来的。如果有的放,才执行下面的内容; $Filedata = $_FILES["Filedata"]; $name = $Filedata['name']; //真实的文件名字是这个,而不是tmp_name, 要知道,tmp_name是临时文件名,是php系统临时分配的文件名,只起到一个短时间中转的作用。而这个才是真正的文件名(确切地说,应该是上传时原文件名。上传后,这个文件名是可以随意更改的。)但是在我这套程序中,好像没用到它哦。 $type = $Filedata['type']; //这些和上面下面都是一样,都是$_FILES[]这个系统变量自动生成的一系列参数。这个是文件类型; $size = $Filedata['size']; //这个是文件大小,以字节为单位; $tmp_name = $Filedata['tmp_name']; //这个是临时文件名,看到了吧,重点就在这里,进行移动的时候这个会用到哦。 $error = $Filedata['error']; //这个是上传中是否有什么错误,如果有错误的话,会返回错误,没有是false; //////////////////////////////////////////// // //===========以下是对文件进行服务器端验证,做好相关工作的话,可在一定程度上防止被传木马 // ///////////////////////////////////////////// if($size>=30000){ exit('您上传的文件大小超过限定'); } switch($type){ //这里我用图片文件进行说明,如果你的是其它文件的话,也可以按这个方法进行处理。 case 'image/pjpeg' : $nameback='.jpg'; //jpeg break; case 'image/jpeg' : $nameback='.jpg'; //jpg break; case 'image/gif' : $nameback='.gif'; //gif break; case 'image/png' : $nameback='.png'; //png break; case 'image/bmp' : $nameback='.bmp'; //bmp break; case exit('类型犯规!'); } //switch end /////////////////////////////////////////// // //以下是对文件进行上传后处理,包括更改文件名、写入数据库。(当然还可以加入判断是否有重复文件等,这里就不做实例了。) // /////////////////////////////////////////// if($nameback && $error==0){ $filename='UF_' . date("Ymdhs") . $nameback; //新文件名的命名规则中间的是时间,就是这一步,可以在一定程序上防止被恶意上传; $fileplace='uploads/' . $filename; //上传后要修改的文件(包括目录) $fileroot='uploads/'; //上传后文件放置目录; file_put_contents("catcah.txt",$tmp_name); //存放临时文件名 move_uploaded_file($tmp_name, $fileplace); //注意,这里放的是包括目录和文件名的变量哦,并且在这个过程中,上传的文件名也更改啦。$username = mysql_real_escape_string($_POST['username']); $query [email protected]_query( "INSERT INTO `$username`(`fname`,`file`)VALUES('$filename','$uploadfile')")or die("error"); }//last if end }//upload and writefile end(the first if end)?> 不过看你的另一个字段已经写进去了,好像不应该是数据库的问题,也许是$_FILES['Filedata']["name"]根本就没有取到值?,你不妨在那里echo一下,看看是不是有取到,要学会如何调试哦,调式能力可以考验一个phper水准的重要项目啊。

3. php上传文件前判断是否存在该文件就删除

使用文件名来确定啊,if(isset(文件名))然后使用php的文件处理函数unlink来删除

4. 如何在php上实现文件上传功能

PHP 一般使用 POST 方法上传文件,下面是一个简单的文件上传示例,里面有相关的注释:up.htm 文件:———-<html> <head> <meta http-equiv="Content-Type" content="text/html; charset=gb2312"> <title>Up Sample</title> </head> <body> <form action="up.php" method="post" enctype="multipart/form-data"> <!–备注:表单中 enctype="multipart/form-data " 的意思,是设置表单的 MIME 编码。默认情况,这个编码格式是application/x-www-form-urlencoded,不能用于文件上传;只有使用了 multipart/form-data ,才能完整的传递文件数据,进行下面的操作,并且 method 要设置为 "post"–> File:<br /> <input type="file" name="upfile" size="30"><br /> <!–上传框要设置 type="file"–> <br /> <input type="submit" value="Upload"> </form> </body></html>———-up.php 文件———-<?phpif (is_uploaded_file($_FILES["upfile"]["tmp_name"])){ //如果有文件上传 //is_uploaded_file — 判断文件是否是通过 HTTP POST 上传的,返回布尔值 //$_FILES['upfilename']['…'],其中的 'upfilename' 即为上传框的 name 属性 //$_FILES['upfile']['tmp_name'] — 文件被上传后在服务端储存的临时文件名,一般是系统默认 if(!eregi('pdf', $_FILES['upfile']['type'])){ //我们这里假设你要上传一个 pdf 文件 //if(!eregi('pdf', $_FILES['upfile']['type'])) 这个是判断上传文件类型的,是不是 pdf 文件,当然,若是想判断是否是 jpg 文件的话,将 pdf 改成 jpg 就可以了,即 if(!eregi('jpg', $_FILES['upfile']['type'])) //$_FILES['upfile']['type'] 是文件的 MIME 类型,如果浏览器提供此信息的话。例如“image/gif” echo 'The uploaded file is not an pdf File! Please upload a right file!'; }else{ $filename = $_FILES['upfile']['name']; //$filename = $_FILES['upfile']['name'],这里是指定上传后的文件名,这里使用的仍是原来的文件名字,($_FILES['upfile']['name'] 是原始文件的名字) if(move_uploaded_file($_FILES["upfile"]["tmp_name"], dirname(__FILE__)."/upload_file/".$filename)){ //这里就是上传文件 //dirname(__FILE__)."/upload_file/".$file_name — 指定上传的目标文件,假设你要上传的目标文件夹upload_file 是和当前文件(upload.php)在同一文件夹下 //chmod(dirname(__FILE__)."/upload_file/". $file_name, 0444); //上面注释掉的是用来改变上传后文件的属性,444 即只有执行和读的权限(看情况加上) echo $_FILES["upfile"]["name"] . " uploaded succeed!!!"; }else{ echo "Can't upload!!!"; } }}else{ echo "File is not selected";}//需要注意的:/*在你的 up.php 同级目录下建立 upload_file 文件夹,来存放上传的文件在上传之前要看一下 php 的配置文件:php.ini 中的三处设置1.是否允许文件上传:( file_uploads = On )2.文件上传的最大 size:( upload_max_filesize )3.post 的最大 size ( post_max_size ) 这个大小设置成和 uplod_max_filesize 一样大或比 uplod_max_filesize 大*//*这只是很简单的一个文件上传的例子,为了帮助理解,只是判断了一下上传文件的类型,还可以使用 if 语句来判断上传文件的大小($_FILES['upfile']['type'])),并进行提示控制等,相关可以查阅 $_FILE['upfile'] 数组的各个值分别代表什么*/?>

5. php 判断是否有文件上传

使用系统变量:$_FILES[]$_FILES经由 HTTP POST 文件上传而提交至脚本的变量。类似于旧数组 $HTTP_POST_FILES 数组(依然有效,但反对使用)。详细信息请参阅 POST 方法上传。

6. php怎么判断1个文件是否正确或者上传成功

$fileType = 'png';break;default:echo 'unknown';}echo 'this is a(an) '.$fileType.' file:'.$typeCode;?>网络过来的,应该是判断文件头二楼:安装fileinfo 扩展使用finfo_file 函数手册上的例子复制内容到剪贴板代码:<?php$finfo = finfo_open(FILEINFO_MIME); // return mime type ala mimetype extension

7. PHP文件上传 判断语句

判断上传文件是否为空。可以使用 empty($_FILES)

8. php怎么判断1个文件是否正确或者上传成功

我网络啦一下,看到获取图片尺寸,还可以可以获得文件类型.getimagesize()这个函数返回数组有4个$type就是类型<?phplist($width,$height,$type,$attr)=getimagesize("04.jpg");if($type==2){echo"yes";}else{echo"no";}?>返回的$type对应格式参数如下:1=GIF,2=JPG,3=PNG,4=SWF,5=PSD,6=BMP,7=TIFF(intelbyteorder),8=TIFF(motorolabyteorder),9=JPC,10=JP2,11=JPX,12=JB2,13=SWC,14=IFF,15=WBMP,16=XBM。

9. thinkphp 如何判断是否有上传文件,如果没有上传文件,那么就不上传,只保存其它信息,着急!谢谢!

在上传之前添加这是单个的文件上传<input type="file" name="images" id="images" />if($_FILES['images']['name']){ //images 是你上传的名称}多个的上传判断<input type="file" name="images[]" id="images" />if($_FILES['images']['name']){ //images[] 是你上传的名称 判断上传的是否为空}如果你还不知道的话可以使用print_r($_FILES); 这个是显示所有上传的相关信息希望对你有帮助!

10. php中关于判断上传文件格式

那只有把这段代码写两次,第一次判断是否合法(不要else),第二次执行上传(不回要if),例如:

$kuozhan=array('jpg','gif','doc');foreach($val['tmp_name']as$key=>$us){ 答foreach($val['name']as$key=>$ns){ $arr=pathinfo($val['name'][$key]); if(!in_array($arr['extension'],$kuozhan)){ echo"上传失败,格式错误!"; returnfalse; }}foreach($val['tmp_name']as$key=>$us){ foreach($val['name']as$key=>$ns){ $arr=pathinfo($val['name'][$key]);上传程序}}