上传:
复制代码
说明:form标答的action=upload.php是指点击这个form中的submit的时候,这个上传命令会被发送到这个叫 upload.php的页面去处理。method=post是指以post方式去送,enctype=multipart/form-data属性规定了在提交这个表单时要使用哪种内容类型,在表单需要二进制数据时,比如文件内容,请使用multipart/form-data,如果要上传文件,这个属性是必要的。input中的type=file时,规定了应该把输入作为文件来处理,并且在input后面会有一个浏览的按钮。
一个php处理页面 upload.php
0) { echo 错误状态: . $_files['myfile']['error']; } else { move_uploaded_file($_files['myfile']['tmp_name'] , uploads/ . $files['myfile']['name']); echo ; } } else{ echo ; } ?>
复制代码
升级下以上的php代码。1、upload.php
php文件上传代码_bbs.it-home.org 请填写用户名
请简单介绍文件
请上传你的文件
复制代码
2、uploadprocess.php
2*1024*1024){echo ;exit();}//获取文件类型$file_type=$_files['myfile']['type'];if($file_type!=image/jpeg && $file_type!=image/pjpeg){echo 文件类型只能是 jpg 格式;exit();}//判断上传是否okif(is_uploaded_file($_files['myfile']['tmp_name'])){//得到上传的文件 转存到你希望的目录$upload_file=$_files['myfile']['tmp_name'];//防止图片覆盖问题,为每个用户建立一个文件夹
$user_path=$_server['document_root']./file/up/.$username;if(!file_exists($user_path)){mkdir ($user_path);}//$move_to_file=$user_path./.$_files['myfile']['name'];//防止用户上传用户名相同的问题$file_true_name=$_files['myfile']['name'];$move_to_file=$user_path./.time().rand(1,1000).substr($file_true_name,strripos($file_true_name,.));//echo $upload_file.$move_to_file;//中文要转码if(move_uploaded_file($upload_file,iconv(utf-8,gb2312,$move_to_file))){echo $_files['myfile']['name'].上传成功;}else{echo 上传失败;}}else{echo 上传失败;}?>
复制代码
注意:比如一个图片文件 pic.jpg,用 strrchr处理,strrchr(pic.jpg,'.'),它将返回.jpg,明白了吗?该函数返回指定字符在该字符串最后出现的位置后的字符。配合 substr() 我们就可以取到jpg,这样就得到了文件的后缀名,来判断上传文件是否符合指定格式。本程序把指定的格式放在一个数组中,实际使用时可根据需要添加。
再看产生随机数文件名部分, 看到mt_srand()这个函数,手册上叫他“播下一个更好的随机数发生器种子”,其实就是初始化一个随机数的函数,参数是(double)microtime() * 1000000,这里如果不这是参数就会自动设置个随机数,当然这不符合需要,如此一来,随机数就具备一定的长度,保证了上传文件不重名。
