聘我网

新概念招聘3.0

用ajaxcdr上传图片

vote up0vote downstar

以前我上传图片是这样写的:

    $imgtype = array('image/gif', 'image/jpeg', 'image/jpg','image/pjpeg');
if (!in_array($_FILES['TplImgUrl']['type'], $imgtype))
{
    showmessage('只允许上传JGP,GIF的图片.', $_SGLOBAL['refer'], 2);
}        
switch($_FILES['TplImgUrl']['error'])
{
    case 1:
        showmessage('上传的文件太大,请保证文件大小在 2M 以内', $_SGLOBAL['refer'], 2);
        break;
    case 2:
        showmessage('上传的文件太大,请保证文件大小在 2M 以内', $_SGLOBAL['refer'], 2);
        break;
    case 3:
        showmessage('文件上传过程中断,请检查网络', $_SGLOBAL['refer'], 2);
        break;
    case 4:
        showmessage('没有选择文件,请重新上传', $_SGLOBAL['refer'], 2);
        break;
    case 6:
        showmessage('上传文件事服务器错误,请稍候再试', $_SGLOBAL['refer'], 2);
        break;
    case 7:
        showmessage('上传文件事服务器错误,请稍候再试', $_SGLOBAL['refer'], 2);
        break;
}

if (!is_uploaded_file(str_replace('\\\\', '\\', $_FILES['TplImgUrl']['tmp_name'])))
{
    exit('Hacking');
}
$time = time();
//后缀名
$extension=pathinfo($_FILES['TplImgUrl']['name']);
$extension = $extension['extension'];
//创建图保存目录
$savedir = S_ROOT.'uploadfiles/tplimage/';
$TplImg = '/uploadfiles/tplimage/'.$time.'.'.$extension;
if(!file_exists($savedir))
{ 
mkdir($savedir,0777);
}
$upfile = $savedir.$time.'.'.$extension;
copy($_FILES['TplImgUrl']['tmp_name'], $upfile); 


用ajaxcdr的代码是:

$imgfile = $_POST['logofile'];
if(!is_uploaded_file($imgfile))
{
    exit('-1');  //没有上传文件
}

到这里is_uploaded_file函数就不起作用了。

 

1 个答复

vote up0vote down

var_dump($_FILES)看看到底传过去没有?

另外html部分要指定enctype以及method="POST"

<form enctype="multipart/form-data" method="POST">
...
</form>
链接

您的回答





不是您要找的问题? 浏览其他含有标签 的问题或者 自己问个.