php上传文件数据表设计 php实现文件上传

php上传文件根据你的程序 , 重新写了一套,你自己看一下吧,后面都有相关的标注 , 会加深印象,你原程序那个$filename是程序原本的文件名,没得到的话 , 真让我感觉匪夷所思……不管了 , 重写一个吧,你给的信息也太少了,到底怎么回事也没弄明白 。
哦哦,忽然想到一种可能?。?你好好检查一下你的数据库字段,看看是不是char 类型 , 或text,或varcharf都可以,别是其它不支持的类型哦,这点很重要 , 不然我这套程序 , 依旧你也写不进去?。。?
?php
include "conn.php";
mysql_select_db("mydb");
if(is_uploaded_file|$_FILES['Filedata']['tmp_name']){//这一句是用来判断是否有文件上传来的 。如果有的放,才执行下面的内容;
$Filedata = https://www.04ip.com/post/$_FILES["Filedata"];
$name = $Filedata['name'];//真实的文件名字是这个 , 而不是tmp_name, 要知道 , tmp_name是临时文件名,是php系统临时分配的文件名,只起到一个短时间中转的作用 。而这个才是真正的文件名(确切地说 , 应该是上传时原文件名 。上传后,这个文件名是可以随意更改的 。)但是在我这套程序中,好像没用到它哦 。
$type = $Filedata['type'];//这些和上面下面都是一样,都是$_FILES[]这个系统变量自动生成的一系列参数 。这个是文件类型;
$size = $Filedata['size'];//这个是文件大?。?以字节为单位;
$tmp_name = $Filedata['tmp_name'];//这个是临时文件名,看到了吧,重点就在这里 , 进行移动的时候这个会用到哦 。
$error = $Filedata['error']; //这个是上传中是否有什么错误,如果有错误的话 , 会返回错误,没有是false;
////////////////////////////////////////////
//
//===========以下是对文件进行服务器端验证,做好相关工作的话,可在一定程度上防止被传木马
//
/////////////////////////////////////////////
if($size=30000){
exit('您上传的文件大小超过限定');
}
switch($type){ //这里我用图片文件进行说明,如果你的是其它文件的话 , 也可以按这个方法进行处理 。
case 'image/pjpeg' : $nameback='.jpg';//jpeg
break;
case 'image/jpeg' : $nameback='.jpg';//jpg
break;
case 'image/gif' : $nameback='.gif';//gif
break;
case 'image/png' : $nameback='.png'; //png
break;
case 'image/bmp' : $nameback='.bmp'; //bmp
break;
case exit('类型犯规!');
} //switch end
///////////////////////////////////////////
//
//以下是对文件进行上传后处理,包括更改文件名、写入数据库 。(当然还可以加入判断是否有重复文件等 , 这里就不做实例了 。)
//
///////////////////////////////////////////
if($nameback$error==0){
$filename='UF_' . date("Ymdhs") . $nameback;//新文件名的命名规则中间的是时间,就是这一步,可以在一定程序上防止被恶意上传;
$fileplace='uploads/' . $filename; //上传后要修改的文件(包括目录)
$fileroot='uploads/';//上传后文件放置目录;
【php上传文件数据表设计 php实现文件上传】file_put_contents("catcah.txt",$tmp_name); //存放临时文件名
move_uploaded_file($tmp_name, $fileplace);//注意,这里放的是包括目录和文件名的变量哦,并且在这个过程中,上传的文件名也更改啦 。
$username = mysql_real_escape_string($_POST['username']);
$query =@mysql_query( "INSERT INTO `$username`(`fname`,`file`)VALUES('$filename','$uploadfile')")or die("error");
}//last if end
}//uploadandwritefile end(the first if end)
?
不过看你的另一个字段已经写进去了,好像不应该是数据库的问题,也许是$_FILES['Filedata']["name"]根本就没有取到值?,你不妨在那里echo一下,看看是不是有取到,要学会如何调试哦,调式能力可以考验一个phper水准的重要项目啊 。
php 文件和表单内容一起上传到数据库?php
$filename = $_POST['filename'];
$explain = $_POST['explain'];
$upfile =$_FILES['upfile'];
if(is_uploaded_file($upfile['tmp_name'])$upfile['size']0){
$filepath = './'.$upfile['name'];
move_uploaded_file($upfile['tmp_name'],$filepath);
$res = mysql_query("INSERT INTO 表(filename,explain,filepath) VALUES('$filename','$explain','$filepath')");
if($res){
echo '添加成功!';
exit();
}
}
?
form action="" method="post" enctype="multipart/form-data" name="form1" id="form1"
p
input type="text" name="filename" id="filename" /
/p
p
input type="text" name="explain" id="explain" /
/p
p
input type="file" name="upfile" id="upfile" /
/p
p
input type="submit" name="button" id="button" value="https://www.04ip.com/post/提交" /
/p
/form
php怎么把文件地址上传到数据库当你问到这个问题的时候php上传文件数据表设计,其实我是不想回答的
你应该是个小白php上传文件数据表设计,因为 “文件地址”这个其实就是一个URLphp上传文件数据表设计,就是一个字符串 。把“
文件地址上传到数据库”,其实就是把一个字符串插入到相应的表 。如果你有基础 , 文件都上传了获取到路径了,就等插入数据库,根本不会来问这个问题 。如果你没基?。?那不是我在这里三言两语甚至长篇大论能教会你的 。
我只能大概说一下思路php上传文件数据表设计:
1、首先 , 建表 , 数据库新建一个表来存放这个文件地址
2、链接这个数据库
3、把这个“文件地址”,插到数据库里面
完了php上传文件数据表设计!
如何根据上传文件格式选择数据库表格php这样做有不确定性.主动权在上传者手中.
==========
不知道你说的文件格式指的是什么.
文件类型???
内容不同???
=============
如果是文件类型,可考虑通过扩展名处理.(这样做不太好,不准确)
如果是内容不同,一定要这样做的话,可要求上传者在文件中设置好区别标志(这样也不好,你不能保证上传者遵守你的规范).
============
依照上传格式选择数据库表允满了不确定性.除非你的文件格式能定死.
一个php表单中先上传文件然后获取路径通过表单上传到数据库// 不要把这个问题想的太复杂, 上传文件跟其他数据完全可以一起提交到服务器,为什么一定要先上传图片,返回结果再提交其他字段呢,这不是给自己找麻烦吗:
form action method='post'
input name='username' type='text' /
input type='file' name='image' /
input type='submit' name='submit' /
form
Server.php:
$file = $_FILES['image'];这个就是你上传的文件, 先保存在服务器, 再和其他字段一起保存到数据库即可
$username = $_POST['username'];
$sql = // ...
php上传文件数据表设计的介绍就聊到这里吧,感谢你花时间阅读本站内容 , 更多关于php实现文件上传、php上传文件数据表设计的信息别忘了在本站进行查找喔 。

    推荐阅读