html前端代码:
<html><body>
<form action="upload-file.php" method="post"
enctype="multipart/form-data">
<label for="file">文件名:</label>
<input type="file" name="file" id="file" />
<br/>
<input type="submit" name="submit" value="提交" />
</form>
</body>
</html>
如果是ubuntu上部署apache2,你应该是php开发者吧,action="upload-file.php
" 中的upload-file.php改为你自己的后端php接收文件的逻辑代码即可!
这里提供upload-file.php后端接收文件的代码:
<?phpif ($_FILES["file"]["error"] > 0)
{
echo "错误: " . $_FILES["file"]["error"] . "<br />"
}
else
{
echo "文件名: " . $_FILES["file"]["name"] . "<br />"
echo "类型: " . $_FILES["file"]["type"] . "<br />"
echo "大小: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />"
}
if (file_exists("upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " 文件已经存在. "
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" . $_FILES["file"]["name"])
echo "文件已经被存储到: " . "upload/" . $_FILES["file"]["name"]
}
?>
代码很简单,我相信你应该能看懂,这里的 文件夹 upload/ 需要你自己手动创建,请确保文件路径正取!
我也是web开发者,有问题可继续追问我!或是加我工作室QQ(540144097),在群里向我提问!有问必答,望采纳......
submit按钮的name值可以是不一样的。比如<input type="submit" name="subFile" value='传附件" />
这样你在PHP端接受的时候可以就是
$_POST['subFile']
另外一个按钮可以这样写
<input type="submit" name="subText" value=“穿文本” />
那么PHP就可以接收到$_POST['subText']
你可以在PHP接收数据时,判断一下
if($_POST['subFile']){
//处理上传文件的代码
}elseif($_POST['subText']){
//处理上传文本的代码
}
这样说你明白吗
自定义文件上传函数:
<?php
/**
* 文件上传
*/
/**
* 文件上传函数
* @param $name string 表单上传框的name值
* @param $file_arr array 上传文件的类型限制
* @param $filesize int 上传文件限制其大小
* @param $path string 文件的保存路径
* @return string 成功返回 "上传成功及文件名"
*/
function uploads($name,$file_arr=array('jpg','png','gif','JPG','GIF','PNG'),$filesize=3145728,$path='uploads'){
//1、检测文件的错误信息,如果是0 就允许上传(保存)
$err=$_FILES[$name]['error']
if($err>0){
if($err==1){
return '上传的文件超过了 php.ini 中 upload_max_filesize 选项限制的值。'
}elseif($err==2){
return '上传文件的大小超过了 HTML 表单中 MAX_FILE_SIZE 选项指定的值。 '
}elseif($err==3){
return '文件只有部分被上传。'
}elseif($err==4){
return'没有文件上传'
}elseif($err>=5){
return '其他错误'
}
}
//2、检测文件的类型,是否是我们需要的(png、gif、jpg)
$pre=pathinfo($_FILES[$name]['name'],PATHINFO_EXTENSION)
if(!in_array($pre,$file_arr)){
return '上传的文件类型不符'
}
//3、检测文件大小
if($_FILES[$name]['size']>$filesize){
return '上传的文件太大'
}
//4、保存文件
$file_name=date('YmdHis',time()).mt_rand(1000,9999).'.'.$pre
if(is_uploaded_file($_FILES[$name]['tmp_name'])){
move_uploaded_file($_FILES[$name]['tmp_name'], $path."/".$file_name)
return '上传成功|'.$file_name
}else{
return "文件上传失败!"
}
}
?>
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)