php文件上传显示数据 Php文件上传

php图片以及文件的上传和显示(无比附上数据库)

?php

网站建设哪家好,找成都创新互联!专注于网页设计、网站建设、微信开发、微信小程序、集团企业网站建设等服务项目。为回馈新老客户创新互联还提供了绥阳免费建站欢迎大家使用!

$timestamp = time(); // 获取当前时间

$name = $_POST['name'];

$save = @(int)$_POST['save']; // 提交标志

if($save == 1){

//print_r($name);

$myfile = $_FILES['myfile'];

$size = sizeof($myfile['tmp_name']);

for($i=0;$i$size;$i++){

$img_name = $myfile['name'][$i];

$img_ext = substr($img_name,strrpos($img_name,'.')+1); // 取文件后缀

$filename = $timestamp . '_' . $i . '_' . 'img' . '.' . $img_ext; // 重新命名文件 格式:1251169206_0_img.jpg

$dir = 'img' . '/'; // 路径

if(!is_dir($dir) || !file_exists($dir)) { // 创建目录文件

@mkdir($dir);

@chmod($dir, 0777);

}

$filename = $dir . $filename; // 获取文件新路径

$tmp = $myfile['tmp_name'][$i]; // 上传的文件

$tmp_name = $name[$i]; // 表单中填写的名称

function_exists('move_uploaded_file') @move_uploaded_file($tmp, $filename); // 把上传的文件转移到新的目录

if($tmp){ // 判断此上传表单是否有上传的文件

$sql = "insert into img (`id`,`name`,`img`,`pub_time`) value(NULL,'$tmp_name','$filename','$timestamp');";

//echo $sql;

}

}

}

?

script language="javascript"

// + ---------------------------- 增加,删除上传文本框的JS代码 ------------------------ + //

function deldiv(divid){ //删除上传框

var div=document.getElementById(divid);

div.parentNode.removeChild(div);

}

function adddiv(){ //添加上传框

var divid=document.getElementById("num").innerHTML;

var html="div style='border:1px solid #cccccc;line-height:25px;'labelFileinput type='file' name='myfile[]' /INPUT TYPE='text' NAME='name[]'/label  span style='cursor:pointer' onClick='deldiv(\""+divid+"\")'删除/span/div"

document.getElementById("num").innerHTML=divid+1;

var div=document.createElement("DIV");

div.id=divid;

document.getElementById("file2").appendChild(div);

document.getElementById(divid).innerHTML=html;

phperz.com

}

// + ---------------------------- 增加,删除上传文本框的JS代码 ------------------------ + //

/script

form action="" method="post" enctype="multipart/form-data" name="form1" id="form1"

div class="main"

div class="title"span style="cursor:pointer" onClick="adddiv()"添加文件/span/div

div class="file"

labelFileinput type="file" name="myfile[]" /INPUT TYPE="text" NAME="name[]"/label

/div

div id="file2"/div

divinput type="submit" name="Submit" value="提交" /INPUT TYPE="hidden" NAME="save" value="1"/div

div id="num" style="display:none"2/div

/div

怎么用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) . " Kbbr /";//输出文件大小

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实现上传图片到数据库并显示输出的方法

本文实例讲述了PHP实现上传图片到数据库并显示输出的方法。分享给大家供大家参考,具体如下:

1.

创建数据表

CREATE

TABLE

ccs_image

(

id

int(4)

unsigned

NOT

NULL

auto_increment,

description

varchar(250)

default

NULL,

bin_data

longblob,

filename

varchar(50)

default

NULL,

filesize

varchar(50)

default

NULL,

filetype

varchar(50)

default

NULL,

PRIMARY

KEY

(id)

)engine=myisam

DEFAULT

charset=utf8

2.

用于上传图片到服务器的页面

upimage.html

!doctype

html

html

lang="en"

head

meta

charset="UTF-8"

meta

name="viewport"

content="width=device-width,

user-scalable=no,

initial-scale=1.0,

maximum-scale=1.0,

minimum-scale=1.0"

meta

http-equiv="X-UA-Compatible"

content="ie=edge"

style

type="text/css"

*{margin:

1%}

/style

titleDocument/title

/head

body

form

method="post"

action="upimage.php"

enctype="multipart/form-data"

描述:

input

type="text"

name="form_description"

size="40"

input

type="hidden"

name="MAX_FILE_SIZE"

value="1000000"

br

上传文件到数据库:

input

type="file"

name="form_data"

size="40"br

input

type="submit"

name="submit"

value="submit"

/form

/body

/html

3.

处理图片上传的php

upimage.php

?php

if

(isset($_POST['submit']))

{

$form_description

=

$_POST['form_description'];

$form_data_name

=

$_FILES['form_data']['name'];

$form_data_size

=

$_FILES['form_data']['size'];

$form_data_type

=

$_FILES['form_data']['type'];

$form_data

=

$_FILES['form_data']['tmp_name'];

$dsn

=

'mysql:dbname=test;host=localhost';

$pdo

=

new

PDO($dsn,

'root',

'root');

$data

=

addslashes(fread(fopen($form_data,

"r"),

filesize($form_data)));

//echo

"mysqlPicture=".$data;

$result

=

$pdo-query("INSERT

INTO

ccs_image

(description,bin_data,filename,filesize,filetype)

VALUES

('$form_description','$data','$form_data_name','$form_data_size','$form_data_type')");

if

($result)

{

echo

"图片已存储到数据库";

}

else

{

echo

"请求失败,请重试";

注:图片是以二进制blob形式存进数据库的,像这样

4.

显示图片的php

getimage.php

?php

$id

=2;//

$_GET['id'];

为简洁,直接将id写上了,正常应该是通过用户填入的id获取的

$dsn='mysql:dbname=test;host=localhost';

$pdo=new

PDO($dsn,'root','root');

$query

=

"select

bin_data,filetype

from

ccs_image

where

id=2";

$result

=

$pdo-query($query);

$result=$result-fetchAll(2);

//

var_dump($result);

$data

=

$result[0]['bin_data'];

$type

=

$result[0]['filetype'];

Header(

"Content-type:

$type");

echo

$data;

到浏览器查看已经上传的图片,看是否可以显示

是没有问题的,证明图片已经以二进制的形式存储到数据库了

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php+mysql数据库操作入门教程》、《php+mysqli数据库程序设计技巧总结》、《php面向对象程序设计入门教程》、《PHP数组(Array)操作技巧大全》、《php字符串(string)用法总结》及《php常见数据库操作技巧汇总》

希望本文所述对大家PHP程序设计有所帮助。

您可能感兴趣的文章:php实现上传图片保存到数据库的方法php上传图片存入数据库示例分享php上传图片到指定位置路径保存到数据库的具体实现php中如何将图片储存在数据库里php下将图片以二进制存入mysql数据库中并显示的实现代码php

从数据库提取二进制图片的处理代码php将图片保存入mysql数据库失败的解决方法php将图片文件转换成二进制输出的方法php图片的二进制转换实现方法

php如何实现上传文件显示上传进度百分比

程序需要php的apc模块的支持,关键点就是在上传的form里添加一个hidden的inpu标签,里面要有name为

APC_UPLOAD_PROGRESS的属性,value值为一个随机数一遍多个人上传。

apc模块的安装方法是,下载php_apc.dll放到ext文件夹下,在php.ini文件里添加

upload_max_filesize =100M

apc.rfc1867 = on

apc.max_file_size = 100M

extension=php_apc.dll

然后测试配置是否成功:

if(apc_fetch)

{echo "apc is working"}

else{echo "apc is not supported!";}

用php做这种上传文件页面并且在页面中能显示已经上传的文件该怎么做?

1 上传文件的前端页面

form enctype="multipart/form-data" action="服务器地址" method="post"

input type="file" name="file"/

/form

2 PHP端用$_FILES取出前端上次的文件,用move_uploaded_file把上传的文件从临时目录移动到你服务器的文件目录下

3 用scandir扫描你的文件目录,用is_file过滤文件,你页面上的文件大小,可以通过filesize获取,上传时间就是创建时间用filemtime

4 发起删除用unlink删除 发起下载就读取文件然后修改header返回即可

php上传文件到文件夹之后,如何在前台显示出来呢

你用PHP上传文件到文件夹后,肯定要把文件保存路径存起来呀。然后读那个路径就可以了。常见的例如上传图片:保存后路径为product/2010/02/201002271359050423.jpg那么你在前台调用的时候,就img src=保存图片路径这样就可以了。其它类型文件类似。


文章名称:php文件上传显示数据 Php文件上传
文章链接:http://scyanting.com/article/hijjjp.html