永发信息网

php代码不能上传文件类型(为什么添加docx\xlsx\pptx这类文件不能上传到网站)还要改什么地方?

答案:2  悬赏:60  手机版
解决时间 2021-03-10 00:45
  • 提问者网友:做自己de王妃
  • 2021-03-09 13:51
function NewUploadFile( $jpg, $jpg_type, $fname, $jpg_size, $path )
{
global $strDownNotice9;
global $strDownNotice11;
if ( $jpg_size == 0 )
{
$arr[0] = "err";
$arr[1] = $strDownNotice9;
return $arr;
}
if ( substr( $fname, -4 ) != ".rar" && substr( $fname, -4 ) != ".zip" && substr( $fname, -4 ) != ".doc" && substr( $fname, -4 ) != ".xls"&& substr( $fname, -4 ) != ".xlsx" && substr( $fname, -4 ) != ".docx" && substr( $fname, -4 ) != ".pptx" && substr( $fname, -4 ) != ".ppt" && substr( $fname, -4 ) != ".htm" && substr( $fname, -5 ) != ".html" && substr( $fname, -4 ) != ".gif" && substr( $fname, -4 ) != ".jpg" && substr( $fname, -4 ) != ".png" && substr( $fname, -4 ) != ".chm" && substr( $fname, -4 ) != ".txt" )
{
$arr[0] = "err";
$arr[1] = $strDownNotice11;
return $arr;
}
$hzarr = explode( ".", $fname );
$num = sizeof( $hzarr ) - 1;
$UploadImage[2] = $hzarr[$num];
$timestr = time( );
$hz = substr( $fname, -4 );
$file_path = ROOTPATH.$path."/".$timestr.$hz;
$UploadImage[3] = $path."/".$timestr.$hz;
copy( $jpg, $file_path );
chmod( $file_path, 438 );
$UploadImage[0] = "OK";
$UploadImage[1] = "OK";
return $UploadImage;
}

?>
最佳答案
  • 五星知识达人网友:迟山
  • 2021-03-09 14:42
改下面这一句:
if ( substr( $fname, -4 ) != ".rar" && substr( $fname, -4 ) != ".zip" && substr( $fname, -4 ) != ".doc" && substr( $fname, -4 ) != ".xls"&& substr( $fname, -4 ) != ".xlsx" && substr( $fname, -4 ) != ".docx" && substr( $fname, -4 ) != ".pptx" && substr( $fname, -4 ) != ".ppt" && substr( $fname, -4 ) != ".htm" && substr( $fname, -5 ) != ".html" && substr( $fname, -4 ) != ".gif" && substr( $fname, -4 ) != ".jpg" && substr( $fname, -4 ) != ".png" && substr( $fname, -4 ) != ".chm" && substr( $fname, -4 ) != ".txt" )

这一句的意思是指定只能传那些文件,如果需要传docx就需要添加在里面,添加docx后的代码如下:
if ( substr( $fname, -4 ) != ".rar" && substr( $fname, -4 ) != ".zip" && substr( $fname, -4 ) != ".doc" && substr( $fname, -4 ) != ".xls"&& substr( $fname, -4 ) != ".xlsx" && substr( $fname, -4 ) != ".docx" && substr( $fname, -4 ) != ".pptx" && substr( $fname, -4 ) != ".ppt" && substr( $fname, -4 ) != ".htm" && substr( $fname, -5 ) != ".html" && substr( $fname, -4 ) != ".gif" && substr( $fname, -4 ) != ".jpg" && substr( $fname, -4 ) != ".png" && substr( $fname, -4 ) != ".chm" && substr( $fname, -4 ) != ".txt" && substr( $fname, -5 ) != ".docx" )

你对比一下就知道我修改的地方,就是在)前面加上 && substr( $fname, -5 ) != ".docx" ,你用类似的办法可以增加对其它扩展名的支持。
全部回答
  • 1楼网友:十鸦
  • 2021-03-09 15:08
xlsx,docx,pptx是office 2007以上办公软件生成的格式,需要office2007以上版本的办公软件或者wps即可打开
我要举报
如以上回答内容为低俗、色情、不良、暴力、侵权、涉及违法等信息,可以点下面链接进行举报!
点此我要举报以上问答信息
大家都在看
推荐资讯