十万火急:为什么我写的上传图片函数在本机测试正常,到服务器上不行? 貌似if($_FILES["file"]["tmp_name"]!=NULL)这句判断的条件有问题 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 试试呢?if(empty($_FILES["file"]["tmp_name"])) if(!isset(($_FILES["file"]["tmp_name"])) 没有提示,如果上传函数有问题,应该有记录插入到图片存储的表pw_attachs中来才对,可是没有所以我怀疑if($_FILES["file"]["tmp_name"]!=NULL) 判断里的代码没有执行上传图片的文件夹已经设为777权限了 那个没问题吧! $filename=date('YmdHi'); $filenames=$filename.basename($_FILES["file"]["name"]); $upfile=$folder."/".$filenames; 你的判断应该改成if(is_uploaded_file($_FILES['userfile']['tmp_name'])) {...} 行是行,现在提示:上传的文件类型只能为:png、jpeg、jpg、gif格式!为什么现在上传图片函数里的这个判断又开始吓判断呢?if(!in_array($file_tyle,$file_type_arr)){ exit("上传的文件类型只能为:png、jpeg、jpg、gif格式!");} if(!empty($_FILES["file"]["tmp_name"])){ echo '判断正确!'; exit()先这样看看。 <? $file_tyle=$_FILES["file"]["type"]; $file_file=$_FILES['file']['tmp_name']; $file_name=$_FILES["file"]["name"]; $store_dir = "../tess/"; $filename=date('YmdHi'); $filenames=$filename.$file_name; $file_tyle=$_FILES["file"]["type"]; $file_type_arr=array('image/gif','image/x-png','image/jpg','image/pjpeg'); if(!in_array($file_tyle,$file_type_arr)) { exit("上传的文件类型只能为:png、jpeg、jpg、gif格式!"); } if($_FILES["file"]["size"]>200000) { exit("上传文件必须小于200K,请修改后再进行上传!"); } if (!move_uploaded_file($file_file,$store_dir.$filenames)) { exit("上传文件失败,请确认你上传的文件类型为:png、jpeg、jpg、gif格式!"); }?> if(empty($_FILES["file"]["tmp_name"])) 这种判断是当你没有数据上传的时候执行的。所以肯定会提示上传有误码的。<br />上传图片:<input name="file" type="file" value="浏览" size="10" />把这句改成:<br />上传图片:<input name="file" type="file" size="10" />看看。 if($_FILES["file"]["tmp_name"]!=NULL) 改成if(empty($_FILES["file"]["tmp_name"])) 试试 提示:上传的文件类型只能为:png、jpeg、jpg、gif格式! <?//判断是否有上传图片并插入if(!empty($_FILES["file"]["tmp_name"])){ $imgurl=uploadimages($_FILES["file"]["tmp_name"],"../tess/");}function uploadimages($files,$folder){ $file_tyle=$_FILES["file"]["type"]; $file_type_arr=array('image/gif','image/x-png','image/jpg','image/pjpeg'); if(!in_array($file_tyle,$file_type_arr)) { exit("上传的文件类型只能为:png、jpeg、jpg、gif格式!"); } if($_FILES["file"]["size"]>200000) { exit("上传文件必须小于200K,请修改后再进行上传!"); } $filename=date('YmdHi'); $filenames=$filename.$_FILES["file"]["name"]; $upfile=$folder."/".$filenames; if(!move_uploaded_file($files,$upfile)) { exit("上传文件失败,请确认你上传的文件类型为:png、jpeg、jpg、gif格式!"); } return $filenames;//回传图片文件名}?> 看看这样行不行? $file_tyle=basename($_FILES["file"]["type"]); $file_type_arr=array('gif','png',jpg',pjpeg'); if(!in_array($file_tyle,$file_type_arr)) { exit("上传的文件类型只能为:png、jpeg、jpg、gif格式!"); } 你在这句前 var_dump($_FILES) 看看~~~就像上面有朋友提到的,用 empty 判断更好一些~ 真相即将大白于天下虽然文件夹权限已经设置777,估计可能还是权限的问题即使我直接使用move_uploaded_file函数上传,依然图片上传不成功当我将这个程序传到另外一台机器上测试——正常!图片能正常上传这叫我如何是好啊…… 问一个循环存文本的问题。 我是新手,大家帮我看看我这个类执行起来有没有效率问题 一个简单的类的继承问题,请帮忙看看,谢谢 PHP怎样清除COOKIE数组? mysql语句求助 9:30站长剧场www.930.cn公测,欢迎指教,多谢 How to 将文本框中输入的数传递到URL参数中去? 菜鸟提问,高手请进! 如何用php作出类似指示灯的效果? Welcome to phpMyAdmin 从数据库中读出文件并生成缩略图 Php堕落群 第八轮散分宣传
if(empty($_FILES["file"]["tmp_name"])) if(!isset(($_FILES["file"]["tmp_name"]))
没有提示,如果上传函数有问题,应该有记录插入到图片存储的表pw_attachs中来才对,可是没有所以我怀疑if($_FILES["file"]["tmp_name"]!=NULL) 判断里的代码没有执行上传图片的文件夹已经设为777权限了
$filename=date('YmdHi');
$filenames=$filename.basename($_FILES["file"]["name"]);
$upfile=$folder."/".$filenames;
if(is_uploaded_file($_FILES['userfile']['tmp_name'])) {...}
行是行,现在提示:上传的文件类型只能为:png、jpeg、jpg、gif格式!为什么现在上传图片函数里的这个判断又开始吓判断呢?
if(!in_array($file_tyle,$file_type_arr))
{
exit("上传的文件类型只能为:png、jpeg、jpg、gif格式!");
}
{
echo '判断正确!';
exit()先这样看看。
$file_file=$_FILES['file']['tmp_name'];
$file_name=$_FILES["file"]["name"];
$store_dir = "../tess/";
$filename=date('YmdHi');
$filenames=$filename.$file_name;
$file_tyle=$_FILES["file"]["type"];
$file_type_arr=array('image/gif','image/x-png','image/jpg','image/pjpeg'); if(!in_array($file_tyle,$file_type_arr))
{
exit("上传的文件类型只能为:png、jpeg、jpg、gif格式!");
} if($_FILES["file"]["size"]>200000)
{
exit("上传文件必须小于200K,请修改后再进行上传!");
}
if (!move_uploaded_file($file_file,$store_dir.$filenames))
{
exit("上传文件失败,请确认你上传的文件类型为:png、jpeg、jpg、gif格式!");
}
?>
<br />上传图片:<input name="file" type="file" value="浏览" size="10" />把这句改成:
<br />上传图片:<input name="file" type="file" size="10" />看看。
//判断是否有上传图片并插入
if(!empty($_FILES["file"]["tmp_name"]))
{
$imgurl=uploadimages($_FILES["file"]["tmp_name"],"../tess/");
}function uploadimages($files,$folder)
{
$file_tyle=$_FILES["file"]["type"];
$file_type_arr=array('image/gif','image/x-png','image/jpg','image/pjpeg'); if(!in_array($file_tyle,$file_type_arr))
{
exit("上传的文件类型只能为:png、jpeg、jpg、gif格式!");
} if($_FILES["file"]["size"]>200000)
{
exit("上传文件必须小于200K,请修改后再进行上传!");
} $filename=date('YmdHi');
$filenames=$filename.$_FILES["file"]["name"];
$upfile=$folder."/".$filenames; if(!move_uploaded_file($files,$upfile))
{
exit("上传文件失败,请确认你上传的文件类型为:png、jpeg、jpg、gif格式!");
} return $filenames;//回传图片文件名
}?>
$file_type_arr=array('gif','png',jpg',pjpeg'); if(!in_array($file_tyle,$file_type_arr))
{
exit("上传的文件类型只能为:png、jpeg、jpg、gif格式!");
}
你在这句前 var_dump($_FILES) 看看~~~就像上面有朋友提到的,用 empty 判断更好一些~