PHP图片上传不上去,出现警告! 本帖最后由 zixisecai 于 2011-02-10 17:32:00 编辑 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 文件夹不存在或者是目录错误,代码改为:<?$f=$_FILES['userfile'];$type_name= $f['tmp_name'];//print_r ($_FILES['userfile']);//有没有传文件判断if ($f['error']==4){echo("<script>alert('请选择你要上传的文件,谢谢!');location.href='upfile.php';</script>");}else{//出错判断if ($f['error']){echo "失败,文件太大了!错误代码是".$f['error'];exit;}//类型判断if (substr($f['type'], 0, 5) == 'image') { switch ($f['type']) { case 'image/jpeg': case 'image/jpg': case 'image/pjpeg': $ext = '.jpg'; break; case 'image/gif': $ext = '.gif'; break; case 'image/png': case 'image/x-png': $ext = '.png'; break; default: header('Content-type: text/html; charset=UTF-8'); echo("<script>alert('你传的不是图片吧?');location.href='upfile.php';< /script>"); die('REDIRECTING...'); break; }}else { header('Content-type: text/html; charset=UTF-8'); echo("<script>alert('你传的不是图片吧?');location.href='upfile.php';</script>"); die('REDIRECTING...'); }//生成随机数$randomnum=NULL;for($j=0;$j<=5;$j++)//随机数字的长度,本例随机数长度为6{srand((double)microtime()*1000000);$randomnumber=rand(!$j ? 1: 0,9);//产生随机数,不以0为第一个数,有些特殊的地方0开头被系统省略$randomnum.=$randomnumber;}$dest_dir=$_SERVER['DOCUMENT_ROOT'].'/upfile';//设定上传目录$dest=$dest_dir.'/'.time().'_'.$randomnum.$ext;//设置文件名为时间戳加上随机数避免重复if (is_uploaded_file($f['tmp_name'])) { $r=move_uploaded_file($_FILES['userfile']['tmp_name'],$dest); if($r){ chmod($dest, 0777);//设定上传的文件的属性 echo "成功了,文件地址是:".$dest; }else{ }}else{ echo("<script>alert('上传失败?');location.href='upfile.php';</script>");}}?>要加上$_SERVER['DOCUMENT_ROOT']前缀,表示根目录,这样才正确,另外要确保网站目录下有upfile这个文件夹,这两点都确认了就没有问题了 如何在php网页中植入facebook的好友头像集合 新手 问个取URI值的方法 马上给分!!! 求用PHP写的正则表达式 GROUP BY的SQL语句出错,请各位英雄解答 没事做,写了个构造sql的类,请大家指点 北京嘉禾映日诚聘急聘php技术人员 判断符合某个条件后,框架里的一个页面刷新并传递变量值 寻PHP+MySQL开发高手合作创业!——限上海 请问如何在linux下看php的电子书或文档 怎么收不到数据! 关于跨域调用 新手问个低级问题
文件夹不存在或者是目录错误,代码改为:
<?
$f=$_FILES['userfile'];
$type_name= $f['tmp_name'];
//print_r ($_FILES['userfile']);
//有没有传文件判断
if ($f['error']==4){
echo("<script>alert('请选择你要上传的文件,谢谢!');location.href='upfile.php';</script>");
}
else{
//出错判断
if ($f['error']){
echo "失败,文件太大了!错误代码是".$f['error'];
exit;
}//类型判断
if (substr($f['type'], 0, 5) == 'image') {
switch ($f['type']) {
case 'image/jpeg':
case 'image/jpg':
case 'image/pjpeg':
$ext = '.jpg';
break;
case 'image/gif':
$ext = '.gif';
break;
case 'image/png':
case 'image/x-png':
$ext = '.png';
break;
default:
header('Content-type: text/html; charset=UTF-8');
echo("<script>alert('你传的不是图片吧?');location.href='upfile.php';< /script>");
die('REDIRECTING...');
break;
}
}else {
header('Content-type: text/html; charset=UTF-8');
echo("<script>alert('你传的不是图片吧?');location.href='upfile.php';</script>");
die('REDIRECTING...');
}//生成随机数
$randomnum=NULL;
for($j=0;$j<=5;$j++)//随机数字的长度,本例随机数长度为6
{
srand((double)microtime()*1000000);
$randomnumber=rand(!$j ? 1: 0,9);//产生随机数,不以0为第一个数,有些特殊的地方0开头被系统省略
$randomnum.=$randomnumber;
}$dest_dir=$_SERVER['DOCUMENT_ROOT'].'/upfile';//设定上传目录$dest=$dest_dir.'/'.time().'_'.$randomnum.$ext;//设置文件名为时间戳加上随机数避免重复if (is_uploaded_file($f['tmp_name'])) {
$r=move_uploaded_file($_FILES['userfile']['tmp_name'],$dest);
if($r){
chmod($dest, 0777);//设定上传的文件的属性
echo "成功了,文件地址是:".$dest;
}else{
}
}else{
echo("<script>alert('上传失败?');location.href='upfile.php';</script>");
}
}
?>要加上$_SERVER['DOCUMENT_ROOT']前缀,表示根目录,这样才正确,另外要确保网站目录下有upfile这个文件夹,这两点都确认了就没有问题了