您的位置:首页 > 编程语言 > PHP开发

第一次写的php代码

2013-03-31 14:08 225 查看
心得体会

一:文件重命名不能有/\:*?....等字符

二:文件格式对于 IE,识别 jpg 文件的类型必须是 pjpeg,对于 FireFox,必须是 jpeg

三:是讲字符串备份数据库

<html>

<title>文件上传</title>

<head>

</head>

<body>

<div style="width: 500px; text-align:left;">

<?php

//上传文件表单

if($_POST['submit'] !="yes")

{

//显示表单

?>

<form action="" method="POST" enctype="multipart/form-data" >

<input type="hidden" name="submit" value="yes" />

请选择您要上传的文件:<br/><br/>

(注意文件上传大小不要超过5MB,文件格式为一些常规格式):<br/><br/>

<input type="file" name="file" /><br/><br/>

<input type="submit" value="提交" />

</form>

<?php

}

//开始上传文件功能

if($_POST['submit']=="yes")

{

//由文件上传导致的错误,终止程序执行 ,重新上传

if ($_FILES['file']['error'] > 0)

{echo "错误代码 " . $_FILES['file']['error'].": ";}

//要求一:文件长度要大于0

try

{

if($_FILES['file']['size']==0)

{

$goodtogo=false;

throw new exception("对不起,您没有选择上传的文件.<br/>");

}

}

catch(exception $e)

{

echo $e->getmessage();

?>

<br/><a href="Javascript:history.back(-1)"><br/>重新上传<br/><br/></a>

<?php

return;

}

//要求二:上传文件大小限制5MB

try

{

if($_FILES['file']['size']>5000000)

{

$goodtogo=false;

throw new exception("对不起,您上传的文件大小为".intval($_FILES['file']['size']/1000)."KB。超过限制大小");

}

}

catch(exception $e)

{

echo $e->getmessage();

?>

<br/><a href="Javascript:history.back(-1)"><br/>重新上传<br/><br/></a>

<?php

return;

}

//要求三:允许上传的文件类型,需要是要修改。对于 IE,识别 jpg 文件的类型必须是 pjpeg,对于 FireFox,必须是 jpeg

$allow_upload_type=array(

'image/pjpeg',

'gif' => 'image/gif',

'jpg' => 'image/jpeg',

'jpeg' => 'image/jpeg',

'jpe' => 'image/jpeg',

'tif' => 'image/tiff',

'tif' => 'image/tiff',

'txt' => 'text/plain',

'xml' => 'text/xml',

'mp3' => 'audio/mpeg',

'mpeg' => 'video/mpeg',

'mov' => 'video/quicktime',

'zip' => 'application/zip',

'rar' => 'application/x-rar-compressed',

'sit' => 'application/x-stuffit',

'bin' => 'application/x-macbinary',

'exe' => 'application/x-msdownload',

'doc' => 'application/msword',

'rtf' => 'application/rtf',

'xls' => 'application/vnd.ms-excel',

'ppt' => 'application/vnd.ms-powerpoint',

);

try

{

if(!in_array($_FILES['file']['type'] ,$allow_upload_type))

{

$goodtogo=false;

throw new exception("对不起,文件类型限制,你所上传文件类型".$_FILES['file']['type']."<br/>");

}

}catch (exception $e)

{

echo $e->getmessage();

?>

<br/><a href="Javascript:history.back(-1)"><br/>重新上传<br/><br/></a>

<?php

return;

}

//通过上传,显示上传文件信息

$strname= $_FILES['file']['name'];//文件重命名之前保留文件名以备存在数据库中

echo "<br/>您上传文件的名称: " . $_FILES['file']['name']."<br/>";

echo "<br/>您上传文件的类型: " . $_FILES['file']['type'] . "<br />";

echo "<br/>您上传文件的大小: " . ($_FILES['file']['size'] / 1024) . " Kb<br />";

echo "<br/>您上传文件保存在服务器上的显示名称: " . $_FILES['file']['tmp_name'] . "<br />";

//移动上传文件到uploads目录

if(file_exists($newname ))

{echo "<br/>您上传文件的已经在本地保存过";}

else

{

//文件以时间戳 重命名

date_default_timezone_set('PRC');//中国时区

$D=date("YmdHis");//时间戳

$filetype=substr(strrchr($_FILES['file']['name'],"."),1);//获取文件后缀名

$newname=$D.".".$filetype; //文件新名字

//echo "<br/>新文件名:".$newname;

move_uploaded_file($_FILES['file']['tmp_name'], "uploads/".$newname);//移动文件到指定文件夹uploads;

echo "<br/>上传文件本地保存路径:"."./uploads/".$newname;

}

//连接到数据库

$con = mysql_connect("localhost:3306","root","");

if (!$con)

{die('连接数据库失败: ' . mysql_error()); }

mysql_select_db("test", $con);

//添加数据

$strpath = "../uploads/".$newname;

$sql =

"INSERT INTO Files( name, time, path)

VALUES('".$strname."', '".$D."', '".$strpath."' )

";

$result=mysql_query($sql);

if($result)

{echo "<br/><br/>文件备份到数据库成功";}

else

{echo"<br/><br/>文件备份到数据库失败";}

mysql_close($con);

?>

<br/><a href="Javascript:history.back(-1)"><br/>文件上传成功,需要再次上传请点击这里<br/></a>

<?php

header('refresh:5; url=http:file_dir.php');

echo"<br/><br/>否则,页面将 5秒后 自动跳转到目录页面";

}

?>

</div>

</body>

</html>
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: