首页 > 后端开发 > 正文

使用php框架文件上传 php文件上传代码怎么写

2023-09-22 15:31:55 | 我爱编程网

使用php框架文件上传 php文件上传代码怎么写相关内容,小编在这里做了整理,希望能对大家有所帮助,关于使用php框架文件上传 php文件上传代码怎么写信息,一起来了解一下吧!

使用php框架文件上传 php文件上传代码怎么写

php文件上传代码怎么写



php文件上传代码怎么写
在初学php的时候,我们无法理解php文件上传的代码,以及上传的逻辑,以下代码从初学者的角度编写,希望对大家有帮助!
需要用到的知识:
超级全局数组:$_FILES
$_FILES['myfile']['name']的值是:客户端文件系统的文件名称
$_FILES['myfile']['type']的值是:客户端传递的文件类型
$_FILES['myfile']['size']的值是:文件的字节大小
$_FILES['myflie']['tmp_name ']的值是:文件被上传后在服务器存储的临时全路径
$_FILES['myfile']['error']的值是:文件上传的错误代码
存储在$_FILES['myfile']['error']中的值
值为0: 表示没有发生任何错误
值为1: 表示上传文件的大小超出了约定值。文件大小的最大值在PHP配置文件中指定的,指令是:upload_max_filesize
值为2: 表示上传文件大小超过了HTML表单隐藏域属性的MAX_FILE_SIZE元素所指定的最大值
值为3: 表示文件只被部分上传
值为4:表示没有上传任何文件
值为6: 表示找不到临时文件夹
值为7: 表示文件写入失败
错误值对应常量
UPLOAD_ERR_OK : 对应值0
UPLOAD_ERR_INI_SIZE : 对应值1
UPLOAD_ERR_FORM_SIZE : 对应值2
UPLOAD_ERR_PARTIAL : 对应值3
UPLOAD_ERR_NO_FILE : 对应值4
UPLOAD_ERR_NO_TMP_DIR : 对应值6
UPLOAD_ERR_CANT_WRITE : 对应值7
upload.html 代码如下
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>图片上传</title>
</head>
<body>
<form action="upload.php" method="post" enctype="multipart/form-data">
<input type="file" name="pic"/>
<!--通过表单限制上传文件的大小 一定要在上传按钮前 大小以字节为主-->
<input type="hidden" name="MAX_FILE_SIZE" value="8388608"/>
<input type="submit" name="sub" value="上传" />
</form>
</body>
</html>upload.php 代码如下
<?php
//var_dump($_FILES);
//exit;
//判断是否是文件上传
$file = $_FILES;
//第一个pic 是input 中的name值
if(is_uploaded_file($file['pic']['tmp_name']))
{
//声明允许上传的文件类型
$allowType = ['image/png','image/jpeg','image/gif','image/jpg'];
//正在上传的文件的类型
$type = $file['pic']['type'];
// echo $type;
//判断类型是否是允许的类型
if(!in_array($type,$allowType))//检查数组中是否存在某个值,返回布尔型
{
exit('上传类型有误');
}
//判断文件上传的大小
if($file['pic']['size'] > 1024 * 1024 * 8) //以字节为主 1024*1024是1M
{
exit('上传的文件太大');
}
//设置新文件名
$filename = date('YmdHis',strtotime('now')).rand(1000,9999);
//获取上传文件的后缀名
$name = $file['pic']['name'];
//得到文件名字符串
$filestr = explode('.',$name);
$ext = array_pop($filestr);
//拼接新文件名
$newfilename = $filename.'.'.$ext;
//拼接上传文件的路径
$path = './uploads/';
//绝对路径
$abspath = $path.$newfilename;
if(move_uploaded_file($file['pic']['tmp_name'],$abspath))
{
echo '上传成功';
}else{
echo '上传失败';
}
} 更多PHP相关知识,请访问PHP中文网!

使用php框架文件上传 php文件上传代码怎么写

PHP文件上传代码用法

php文件上传代码编写过程

先判断是否上传文件

如果有再来判断上传中是否出错

如果出错 则提示出错信息

如查没出错 再判断文件类型

如果类型符合条件 再判断指定目录中有没有存在该文件

如果没有就把该文件移至指定目录

在php中上传文件必须知道的几个东西

$_FILES[ myfile ][ name ] 是指被上传文件的名称

$_FILES[ myfile ][ type ] 是指被上传文件的类型

$_FILES[ myfile ][ size ] 是指被上传文件的大小 单位为字节(B)

$_FILES[ myfile ][ tmp_name ] 是指被上传文件存在服务器中的临时副本文件名称 文件被移动到指定目录后临文件将被自动消毁

$_FILES[ myfile ]["error"] 是指由文件上传中有可能出现的错误的状态码 关于各状态含义后在会说明

先来看一下HTML部分

代码如下 复制代码

?<form action="upload php" method="post" enctype="multipart/form data"> 上传 <input type=file name=myfile /> <input type=submit name=submit value="上传" /> </form>

说明

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

代码如下 复制代码

<?php if($_FILES[ myfile ][ name ] != ) { if($_FILES[ myfile ][ error ] > ) { echo "错误状态 " $_FILES[ myfile ][ error ]; } else { move_uploaded_file($_FILES[ myfile ][ tmp_name ] "uploads/" $FILES[ myfile ][ name ]); echo "<script>alert(上传成功!);</script>"; } } else{ echo "<script>alert(请上传文件!);</script>"; } ?>

上面超级简单 我们现在来升级一下

upload php

代码如下 复制代码

<!DOCTYPE HTML PUBLIC " //W C//DTD HTML Transitional//EN"> <> <head> <title>ddd</title> <meta equiv="content type" content="text/; charset=UTF "> </head> <body> <! 文件上传要注意: 要有enctyp method="post" > <form enctype="multipart/form data" action="uploadProcess php" method="post" > <table> <tr><td>请填写用户名</td><td><input type=text name=username></td></tr> <tr><td>请简单介绍文件</td><td><textarea rows=" " cols=" " name=fileintro class="page_speeder_734321457"></textarea></td></tr> <tr><td>请上传你的文件</td><td><input type=file name=myfile></td></tr> <tr><td colspan=" "><input type=submit value="上传"><td></tr> </table> </form> </body> </>

uploadProcess php

代码如下 复制代码

<?php

//接收 $username=$_POST[ username ]; $fileintro=$_POST[ fileintro ]; //echo $username $fileintro; //获取文件信息 /* echo "<pre>"; print_r($_FILES); echo "</pre>"; */ //获取文件的大小 $file_size=$_FILES[ myfile ][ size ]; if($file_size> * * ){ echo "<script type= text/javascript >window alert( 文件不能大于 M )</script>"; exit(); }

//获取文件类型 $file_type=$_FILES[ myfile ][ type ]; if($file_type!="image/jpeg" && $file_type!="image/pjpeg"){ echo "文件类型只能是 jpg 格式"; exit(); }

//判断上传是否OK if(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( ) substr($file_true_name strripos($file_true_name " ")); 我爱编程网

//echo $upload_file $move_to_file; //中文要转码 if(move_uploaded_file($upload_file iconv("utf " "gb " "$move_to_file"))){ echo $_FILES[ myfile ][ name ] "上传成功"; }else{ echo "上传失败"; } }else{ echo "上传失败"; }

?>

注意:

我举个例子大家就知道 比如一个图片文件 pic jpg 我们用 strrchr处理 strrchr(pic jpg ) 它将返回 jpg 明白了吗?该函数返回指定字符在该字符串最后出现的位置后的字符 配合 substr() 我们就可以取到jpg 这样我们就得到了文件的后缀名 来判断上传文件是否符合指定格式 本程序把指定的格式放在一个数组中 实际使用时可根据需要添加

lishixinzhi/Article/program/PHP/201311/20924

使用php框架文件上传 php文件上传代码怎么写

php上传文件到服务器

我爱编程网(https://www.52biancheng.com)小编还为大家带来php上传文件到服务器的相关内容。

1、通过PHP,可以把文件上传到服务器。创建一个文件上传表单,下面这个供上传文件的 HTML 表单:

<html>
<body>

<form action="upload_file.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file" /> 
<br />
<input type="submit" name="submit" value="Submit" />
</form>

</body>
</html>

2、创建上传脚本,命名为"upload_file.php" 文件含有供上传文件的代码:

<?php
if ($_FILES["file"]["error"] > 0)
  {
  echo "Error: " . $_FILES["file"]["error"] . "<br />";
  }
else
  {
  echo "Upload: " . $_FILES["file"]["name"] . "<br />";
  echo "Type: " . $_FILES["file"]["type"] . "<br />";
  echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
  echo "Stored in: " . $_FILES["file"]["tmp_name"];
  }
?>

注:通过使用 PHP 的全局数组 “$_FILES”,就可以实现从客户计算机向远程服务器上传文件。

以上就是使用php框架文件上传 php文件上传代码怎么写全部内容了,了解更多相关信息,关注我爱编程网。更多相关文章关注我爱编程网:www.52biancheng.com

免责声明:文章内容来自网络,如有侵权请及时联系删除。
与“使用php框架文件上传 php文件上传代码怎么写”相关推荐