运行后 卡在 ‘请上传合法文件 ’ 麻烦老师帮忙看看
<?php
date_default_timezone_set('PRC');
header('content-type:text/html;charset=utf-8');
include_once './lib/fun.php';
session_start();
if(!isset($_SESSION['user'])||empty($_SESSION['user'])) {
msg(2, '请登入', ';login.php');
}
$user=$_SESSION['user'];
//表单进行提交处理
if(!empty($_POST['name'])){
$con=mysqlInit('127.0.0.1','root','root','imooc_mall');
$name= mysql_real_escape_string(trim($_POST['name']));
$price=intval(($_POST['price']));//价格
$des=mysql_real_escape_string(trim($_POST['des']));
$content=mysql_real_escape_string(trim($_POST['content']));
$nameLength=mb_strlen($name,'utf-8');
if($nameLength<=0||$nameLength>30){
msg(2,'画品名应在1-30字符之间');
}
if(empty($price)){
msg(2,'价格不能为空');
}
$desLength=mb_strlen($des,'utf-8');
if($desLength<=0||$desLength>=200){
msg(2,'简介应在1-200字符之间');
}
$contentLength=mb_strlen($content,'utf-8');
if($contentLength<=0||$contentLength>=9999999){
msg(2,'简介应在1-9999999字符之间');
}
$userId=$user['id'];
$now=$_SERVER['REQUEST_TIME'];
$pic=imgUpload($_FILES['$file']);
//查询是否有重复ID
$sql="SELECT COUNT( `id` ) as 'total' FROM `im_goods` WHERE `name` = '{$name}'";
$obj=mysql_query($sql);
$result=mysql_fetch_assoc($obj);
if(isset($result['total'])&&$result['total']>0){
msg(2,'商品名已存在,请重新输入');
}
unset($sql,$obj,$result);
$sql="INSERT `im_goods`(`name`,`price`,`des`,`content`,`pic`,`user_id`,`create_time`,`update_time`,`view`)
value('$name','$price','$des','$content','$pic','$userId','$now','$now',0})";
$obj=mysql_query($sql);
if($obj){
msg(1,'操作成功','login.php');
}else{
msg(2,mysql_errno());exit;
}
}
?>fun
<?php
/**
* 数据库连接
* @param $host
* @param $username
* @param $password
* @param $dbname
* @return bool|resource
*/
function mysqlInit($host,$username,$password,$dbname){
$con=mysql_connect($host,$username,$password);
if(!$con){
return false;
}
mysql_select_db($dbname);
mysql_set_charset('utf8');
return $con;
}
/**
* 密码加密
* @param $password
* @return bool|string
*/
function createPassword($password){
if(!$password){
return false;
}
return md5(md5($password).'IMOOC');
}
/**
* 资源调用
* @param $type
* @param null $msg
* @param null $url
*/
function msg($type,$msg=null,$url=null){
//header('Location:msg.php?type={$type}&msg=($msg)&url=($url)')
$toUrl="Location:msg.php?type={$type}";
$toUrl.=$msg?"&msg=($msg)":'';
$toUrl.=$url?"&msg=($url)":'';
header($toUrl);
exit;
}
function imgUpload($file){
//检测上传文件是否合法
if(!is_uploaded_file($file['tmp_name'])){
msg(2,'请上传合法文件');
}
//图像类型验证
$type=$file['type'];
if(!in_array($type,array("image/png","image/gif","image/jpeg"))){
msg(2,'请上传png,gif,jpg格式图像');
}
//上传目录
$uploadPath='./static/file/';
//上传目录访问URL
$uploadUrl='/static/file/';
//上传文件夹
$fileDir=date('Y/md',$_SERVER['REQUEST_TIME']);
//检测上传目录是否存在
if(!is_dir($uploadPath.$fileDir)){
mkdir($uploadPath.$fileDir,0755,true);//递归创建目录
}
//文件名加密
//获取文件扩展名
$ext=strtolower(pathinfo($file['name'],PATHINFO_EXTENSION));
//上传文件名称
$img=uniqid().mt_rand(1000,9999).'.'.$ext;
//物理地址
$imgPath=$uploadPath.$fileDir.$img;
//url地址
$imgUrl='http://127.0.0.1/mall'.$uploadPath.$fileDir.$img;
//操作失败 查看上传目录权限
if(!move_uploaded_file($file['tmp_name'],$imgPath)){
msg(2,'服务器繁忙,请稍后再试');
}
return $imgUrl;
}8
收起
正在回答
1回答
你好,上传的文件不合法,通过检查看到上面的文件中有$pic=imgUpload($_FILES['$file']);这里的$file不应该加单引号,否则文件名称就变成$file这个字符串了,$file在这里应该是一个变量,代表文件名称,应为imgUpload($_FILES[$file]),如果修改完后还有问题,建议从这里开始一步一步向上查找,打印相关内容,看看哪里是不是还有类似的问题。
如果解决了你的问题,请采纳,祝学习愉快~
恭喜解决一个难题,获得1积分~
来为老师/同学的回答评分吧
0 星