很多站长朋友们都不太清楚php上传代码,今天小编就来给大家整理php上传代码,希望对各位有所帮助,具体内容如下:
本文目录一览: 1、 怎样用PHP实现文件上传 2、 求一php文件上传代码,要能获取到上传后的文件名。 3、 怎么用php文件上传功能,并可以同时进行数据提交,请问代码如何写? 4、 php上传文件到服务器 5、 php文件上传漏洞代码只允许上传图片 6、 急求:php上传图片代码的修改 怎样用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>
请留意如下有关此表单的信息:
<form> 标签的 enctype 属性规定了在提交表单时要使用哪种内容类型。在表单需要二进制数据时,比如文件内容,请使用 "multipart/form-data"。
<input> 标签的 type="file" 属性规定了应该把输入作为文件来处理。举例来说,当在浏览器中预览时,会看到输入框旁边有一个浏览按钮。
注释:允许用户上传文件是一个巨大的安全风险。请仅仅允许可信的用户执行文件上传操作。
创建上传脚本
"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,你可以从客户计算机向远程服务器上传文件。
第一个参数是表单的 input name,第二个下标可以是 "name", "type", "size", "tmp_name" 或 "error"。就像这样:
$_FILES["file"]["name"] - 被上传文件的名称
$_FILES["file"]["type"] - 被上传文件的类型
$_FILES["file"]["size"] - 被上传文件的大小,以字节计
$_FILES["file"]["tmp_name"] - 存储在服务器的文件的临时副本的名称
$_FILES["file"]["error"] - 由文件上传导致的错误代码
这是一种非常简单文件上传方式。基于安全方面的考虑,您应当增加有关什么用户有权上传文件的限制。
上传限制
在这个脚本中,我们增加了对文件上传的限制。用户只能上传 .gif 或 .jpeg 文件,文件大小必须小于 20 kb:
<?php
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
($_FILES["file"]["size"] < 20000))
{
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"];
}
}
else
{
echo "Invalid file";
}
?>
注释:对于 IE,识别 jpg 文件的类型必须是 pjpeg,对于 FireFox,必须是 jpeg。
保存被上传的文件
上面的例子在服务器的 PHP 临时文件夹创建了一个被上传文件的临时副本。
这个临时的复制文件会在脚本结束时消失。要保存被上传的文件,我们需要把它拷贝到另外的位置:
<?php
if ((($_FILES["file"]["type"] == "image/gif")
|| ($_FILES["file"]["type"] == "image/jpeg")
|| ($_FILES["file"]["type"] == "image/pjpeg"))
($_FILES["file"]["size"] < 20000))
{
if ($_FILES["file"]["error"] > 0)
{
echo "Return Code: " . $_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 "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
if (file_exists("upload/" . $_FILES["file"]["name"]))
{
echo $_FILES["file"]["name"] . " already exists. ";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" . $_FILES["file"]["name"]);
echo "Stored in: " . "upload/" . $_FILES["file"]["name"];
}
}
}
else
{
echo "Invalid file";
}
?>
上面的脚本检测了是否已存在此文件,如果不存在,则把文件拷贝到指定的文件夹。
注释:这个例子把文件保存到了名为 "upload" 的新文件夹。
求一php文件上传代码,要能获取到上传后的文件名。你用file类型的input上传这个图片后,就将图片上传到你服务器的临时目录了,并且将文件相关的信息存在了_FILE这个参数里,
<?php
if($dosubmit){
$f = $_FILES['file'];//获得文件的相关信息,file是input的name
if( $f['size']>1024*600 ){
exit('图片大小超过系统限制(600KB)');
}
}
?>
你用表单的get提交普通的参数你可以通过$_GET获得,同样的post提交的通过$_POST得到。当然里面的文件的信息你就要通过$_FILES来得到了!
怎么用php文件上传功能,并可以同时进行数据提交,请问代码如何写?<?php
// $_FILES["file"]["type"] 其中["file"] html中标签的name
if ((($_FILES["file"]["type"] == "image/gif") //检查上传的文件类型为gif
|| ($_FILES["file"]["type"] == "image/jpeg")//检查上传的文件类型为jpg
|| ($_FILES["file"]["type"] == "image/pjpeg"))//检查上传的文件类型为jpeg
($_FILES["file"]["size"] < 20000))//检查上传的文件大小
{
if ($_FILES["file"]["error"] > 0)//判断是否为错误
{
echo "Return Code: " . $_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 "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";//输出临时文件名称
if (file_exists("upload/" . $_FILES["file"]["name"]))//判断上传文件是否存在upload文件夹里
{
echo $_FILES["file"]["name"] . " already exists. ";//如果存在则提示信息
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/" . $_FILES["file"]["name"]);//如果不存在则拷贝临时文件到upload文件夹
echo "Stored in: " . "upload/" . $_FILES["file"]["name"];//输出上传文件路径+文件名称
}
}
}
else
{
echo "Invalid file";//错误信息
}
?>
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文件上传漏洞代码只允许上传图片是由于文件限制导致的,用户通过高级选项,绕过上传机制上传代码并执行即可,php是一种在服务器端执行的嵌入HTML文档的脚本语言。
急求:php上传图片代码的修改把代码粘贴到编辑器
希望对你有用 呵呵
<?php
function getname($dir,$exname){
if(!is_dir($dir)){
mkdir($dir,0777); //假如没有upimages 则创建
}
$year = date("Y");
$month = date("m");
$day = date("d");
$filename = date("His").rand(100,999);
$filedir = $year."/".$month."/".$day;
if(!is_dir($dir.$filedir)){
mkdir($dir.$filedir,0777); //假如 upimages中没有 当前 “年/月/日/”的文件夹 则创建
}
/*
while(true){
if(!is_file($dir.$i.".".$exname)){
$name=$i.".".$exname;
break;
}
$i++;
}
*/
return $filedir.$filename.".".$exname; //绝对路径 要上传文件要在
}
/********/
$dir = "/var/webroot/upimages/";//定义要上传的文件夹的路径 服务器的绝对路径 windows 可以写 D:/www/upimages/
$exname=strtolower(substr($_FILES['upfile']['name'],(strrpos($_FILES['upfile']['name'],'.')+1)));
$uploadfile = getname($dir,$exname); //例如 $uploadfile ="2009/05/21/173029888.jpg"
if(move_uploaded_file($_FILES['upfile']['tmp_name'], $dir.$uploadfile)){
exit("OK");
}
?>
关于php上传代码的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。
查看更多关于php上传代码 php上传代码到svn的详细内容...