喜悦国际村 
» 游客:  注册 | 登录 | 搜索 | 统计 | 喜悦证交所 | 帮助

RSS 订阅当前论坛  

$5.95 Web Hosting     

上一主题 下一主题
 13  1/2  1  2  > 
     
标题: [问题] mysql 存取图片,我能做到,但有很多问题!  
 
jdiqssu (jdiqssu)
新手上路
Rank: 1
初级会员



UID 12923
精华 0
积分 34
帖子 32
金钱 34 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2002-2-24
状态 离线
[广告]: 代充Paypal帐号美元
mysql 存取图片,我能做到,但有很多问题!

我用 MySql 存入一些图片(关于数据库中存图片的缺点不在这里讨论) ,
第一个问题:存入图片时,不能用中文图片名,注释也不能用代码如下:

<?php
<?php
$userfile_a 
$_FILES['userfile']['name'];//客户端机器文件的原名称。
$filesize_a $_FILES['userfile']['size'];//已上传文件的大小,单位为字节
$filetype_a $_FILES['userfile']['type'];//文件的 MIME 类型,需要浏览器提供该信息的支持,例如“image/gif”。
$description$_POST['description'];

echo 
"$description<br>";
echo 
"$userfile_a<br>";
echo 
"$filesize_a<br>";
echo 
"$filetype_a<br>";

$data addslashes(fread(fopen($userfile_a,'rb'),$filesize_a));

$db = new mysqli('localhost','root','password','test');
//$db->query("SET NAMES 'GBK'");

if (mysqli_connect_errno()) 
  {
     echo 
'Error: Could not connect to database.  Please try again later.';
     exit;
  }

$query "
        insert into image
        (
            description,
            filename,
            file_type,
            filesize,
            filedata
        ) 
          values
        (
            '"
.$description."',
            '" 
basename($userfile_a) . "',
            '"
.$filetype_a."',
            '"
.$filesize_a."',
            '"
.$data."'
        )
        "
;
?>
第二个问题:想用一次查询显示表中所有的图片,但是做不到,一次只能显示一张,并想显示别的字也不行,

<?php
$mysqli 
= new mysqli("localhost""root""password""test");
//$mysqli->query("SET NAMES 'UTF8'");

if (mysqli_connect_errno()) {
    
printf("Connect failed: %sn"mysqli_connect_error());
    exit();
}
$query "select * from  image ";

if (
$result $mysqli->query($query)) 
    {


    while (
$obj $result->fetch_object()) 
        {
        
header("Content-Type:".$obj->file_type); 
        echo 
$obj->filedata;
        echo 
"能显示出别的信息吗?";
        }
    
$result->close();
    }

$mysqli->close();
?>
2008-4-12 11:40 AM#1
查看资料  发短消息  顶部
 
村长夫人
高级会员
Rank: 4


UID 94673
精华 0
积分 501
帖子 973
金钱 501 喜悦币
威望 0
人脉 0
阅读权限 50
注册 2007-6-29
状态 离线
[广告]: 代充Paypal帐号美元
第一个问题我没有碰到过
第二个问题是你没有搞清楚啥叫Content-Type 和HTTP原理 一个HTTP请求只能响应一种Content-Type的文件
你要现实的问题 应该属于text/html之类的Content-Type 而你输出的图片可能是image/jpeg之类的Content-Type
由于你指定了其中之一 服务器就会按照你指定的Content-Type 进行相应
当然 如果你不使用header函数输出Content-Type 服务器一般会默认使用服务器配置文件中设定的Content-Type 对php脚本文件执行的结果进行响应
也就是说一个带图片的html文当是由至少2次以上的请求被加载到客户端的内存中的 若想同时显示文字和图片 可以使用html或者其他能被浏览器解释的方法




又该换马甲了.....
2008-4-12 12:58 PM#2
查看资料  发短消息  顶部
 
boneguan (boneguan)
新手上路
Rank: 1
初级会员



UID 31252
精华 0
积分 31
帖子 41
金钱 31 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2004-9-20
状态 离线
[推荐阅读] 福建电信百M独享/广东电信100M独享带宽服务器租用QQ445676667
村长夫人  说的正确。
再给个提示: 你可以看看 验证码程序。  它输出的是image 。
so , 我想 你应该晓得如何显示出 图片和 文字。。
2008-4-12 02:17 PM#3
查看资料  发短消息  顶部
 
startend
注册会员
Rank: 2



UID 105521
精华 0
积分 52
帖子 42
金钱 52 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2008-1-2
状态 离线
[推荐阅读] 请教如何不重复相加列的数值?
我的解决方案

根据村长夫人的原理,得出以下:我成功显示了多长图片
untitled2.php
<?
$user="root";
$pwd="root";
@mysql_connect("localhost",$user,$pwd) or die("error");
@mysql_select_db("testorder");
$query = "select * from  image";
$qry = mysql_query($query);
while($rs = mysql_fetch_object($qry)){
        echo "<img src=\"untitled1.php?fname=".$rs->fname."\"><BR>";
}
?>
untitled1.php
<?php
header("Content-Type: image/pjpeg");
$user="root";
$pwd="root";
@mysql_connect("localhost",$user,$pwd) or die("error");
@mysql_select_db("testorder");
$fname=$_GET['fname'];
$query = "select * from  image where fname=\"$fname\"";
$qry = mysql_query($query);
while($rs = mysql_fetch_object($qry)){
        echo $rs->data;
}
?>
希望能给你带来帮助
2008-4-12 03:42 PM#4
查看资料  发短消息  顶部
 
剑枫 (雪花)
论坛元老
Rank: 8Rank: 8
欧玛嘎


UID 26144
精华 1
积分 4855
帖子 1727
金钱 4845 喜悦币
威望 10
人脉 0
阅读权限 90
注册 2004-2-14
来自 山东郓城
状态 离线
[推荐阅读] 正则问题 如何判断带括号的字符串 [已解决,麻烦版主转下版块]
不建议存储到数据库



在场外支持奥运.....
2008-4-12 04:22 PM#5
查看资料  访问主页  发短消息  QQ  顶部
 
osdn
禁止发言

初级会员



UID 66985
精华 0
积分 -37
帖子 353
金钱 -37 喜悦币
威望 0
人脉 0
阅读权限 0
注册 2005-9-28
来自 红色主机
状态 离线
[推荐阅读] 低薪求职了
*** 作者被禁止或删除 内容自动屏蔽 ***
2008-4-12 04:31 PM#6
查看资料  访问主页  发短消息  顶部
 
startend
注册会员
Rank: 2



UID 105521
精华 0
积分 52
帖子 42
金钱 52 喜悦币
威望 0
人脉 0
阅读权限 20
注册 2008-1-2
状态 离线
[推荐阅读] 从一个php程序员角度看写程序这个职业
图片存储到数据库占用数据资源太大
2008-4-14 09:05 AM#7
查看资料  发短消息  顶部
 
phphp
版主
Rank: 7Rank: 7Rank: 7
加班一族


UID 65188
精华 1
积分 183
帖子 3006
金钱 172 喜悦币
威望 10
人脉 1
阅读权限 100
注册 2005-7-20
来自 北京市海淀区
状态 离线
[推荐阅读] php的东东你用过哪些
也有他的优势的.关键看怎么存



书到用时方恨少, 事非经过不知难
2008-4-14 11:03 AM#8
查看资料  访问主页  Blog  发短消息  QQ  顶部
 
jdiqssu (jdiqssu)
新手上路
Rank: 1
初级会员



UID 12923
精华 0
积分 34
帖子 32
金钱 34 喜悦币
威望 0
人脉 0
阅读权限 10
注册 2002-2-24
状态 离线
[推荐阅读] CURL 如何手动模拟带验证码的注册?
打个比方,比如说存一些学生的照片,不会点用太大地方,根据大家的帮助,我个人认为,为照片单独做一个表,因为它一次只能输出一个照片,每次输出都要查询一次,所以只存id和照片数据就行了,大家看我说的对不对?另外请问这样存的二进制表能不能备份,也就是就把数据卸出来?请大家帮助?谢谢,非常感谢"startend"
2008-4-14 02:05 PM#9
查看资料  发短消息  顶部
 
村长夫人
高级会员
Rank: 4


UID 94673
精华 0
积分 501
帖子 973
金钱 501 喜悦币
威望 0
人脉 0
阅读权限 50
注册 2007-6-29
状态 离线
[推荐阅读] 北京上地中关村软件园公司招聘PHP好手
备份有什么问题吗?
如果是这种图片感觉就更没有必要单独用一条查询去获取了 不如用过学生的编号hash出一条路径 据此进行文件存储




又该换马甲了.....
2008-4-14 02:37 PM#10
查看资料  发短消息  顶部
 13  1/2  1  2  > 
     


  可打印版本 | 推荐给朋友 | 订阅主题 | 收藏主题 | 开通个人空间  


 




Powered by Discuz! 6.1.0  © 2001-2010 Comsenz Inc.
Processed in 0.027496 second(s), 6 queries

(冀ICP备05009913号) 管理员:sadly 邮箱/MSN: sadly@phpx.com QQ:824008(长隐) 清除 Cookies - - Archiver - WAP