求:如何实现将图像保存在txt中,再从txt中将图像取出来?????

wm501903161 2010-07-21 07:03:54
最近在很努力的学习PHP中……

学习中遇到一难题,还希望各位前辈指教。

如何实现将图像保存在txt中,再从txt中将图像取出来?????


...全文
212 16 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
wm501903161 2010-07-31
  • 打赏
  • 举报
回复
谢谢各位拉!
我会继续努力的.
woshimajia0003 2010-07-22
  • 打赏
  • 举报
回复
不错!!!!!!!!!!!!!!!!!
Abin-2008 2010-07-22
  • 打赏
  • 举报
回复
你保存图片的路径到txt
再读取即可...
fxs_2008 2010-07-22
  • 打赏
  • 举报
回复


$a=file_get_contents('http://avatar.profile.csdn.net/6/6/4/2_happy664618843.jpg');
file_put_contents('a.txt',$a);



以十六进制可以打
xuzuning 2010-07-22
  • 打赏
  • 举报
回复
保存
$filename = 'pic.jpg';
file_put_contents("$filename.txt", base64_encode(file_get_contents($filename)));

取回
$filename = 'pic.jpg';
file_put_contents($filename, base64_decode(file_get_contents("$filename.txt")));
happy664618843 2010-07-22
  • 打赏
  • 举报
回复
$handler=fopen("demo.txt","r");
while(false==feof($handler)){
//逐行读取数据
$content=fgets($handler);
//逐字读取
$contents=fgetc($handler);
}
fclose($handler);
qqsweb 2010-07-22
  • 打赏
  • 举报
回复
读取文件 保存为TXT格式 最重要的是去掉HTTP头信息

$do=$_REQUEST['do'];
$web=$_REQUEST['web'];
$fm=$_REQUEST['fm'];
if($fm != ""){
$fm="&fm=".$fm;
}else{
$fm="";
}
function functionname($site1, $site2) {
$back=@rename("$site1","$site2") ;
return $back;
}

$filename = 'img/'.$do.'.jpg';
$filename_1 = '../../img/'.$do.'.jpg';
if (file_exists($filename)) {
header("Content-Type: image/jpeg");
readfile($filename);
functionname($filename,$filename_1);


exit;
}

//echo $do;
//header("Cookie: BAIDUID=5F96971273579588527A980F307E8B7A:FG=1");
//header("Location: http://www.hongkongfans.cn/".$web.".baidu.com/it/u=".$do."".$fm."");
function get_content_by_socket($url){
$url = eregi_replace('^http://', '', $url);
$temp = explode('/', $url);
$host = array_shift($temp);
$url = ''.implode('/', $temp);
$temp = explode(':', $host);
$host = $temp[0];
$port = isset($temp[1]) ? $temp[1] : 80;
//echo $url;
//echo $host;
$fp = fsockopen($host, 80) or die("Open ". $url ." failed");
$header = "GET /".$url ." HTTP/1.1\r\n";
$header .= "Accept: */*\r\n";
$header .= "Accept-Language: zh-cn\r\n";
$header .= "Accept-Encoding: gzip, deflate\r\n";
$header .= "If-Modified-Since: Tue, 06 Apr 2010 07:56:03 GMT; length=2235\r\n";
$header .= "User-Agent: Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.1; SV1; GTB6.4)\r\n";
$header .= "Host: ". $host ."\r\n";
$header .= "Referer: http://video.baidu.com/v?word=11&ct=301989888&rn=20&pn=0&db=0&s=0&fbl=800\r\n";
//fputs($content, "Referer: $domainrn");//伪造部分
$header .= "Connection: Keep-Alive\r\n";
$header .= "Cookie: BAIDUID=5F96971273579588527A980F307E8B7A:FG=1\r\n\r\n";
//$header .= "Connection: Close\r\n\r\n";

fwrite($fp, $header);
while (!feof($fp)) {
$contents .= fgets($fp, 8192);
}
fclose($fp);
return $contents;
}
//echo "http://".$web.".baidu.com/it/u=".$do."".$fm."";
$img_1=get_content_by_socket("http://".$web.".baidu.com/it/u=".$do."".$fm."");
//$img_1=get_content_by_socket("http://1.163.com/43/html/img/996788215,2783341508.jpg");
$img_1 = explode('Server: lighttpd

', $img_1);
$img_1=$img_1[1];

//file_put_contents('1.jpg',$img_1);

$del_file="img/".$do.".jpg";
$fp3 = @fopen($del_file,"a");
@flock($fp3,2);
@fwrite($fp3,$img_1);
@fclose($fp3);


echo $img_1;


这个是保存百度视频图片的代码片段 可能会有帮助
Coder_Granger 2010-07-21
  • 打赏
  • 举报
回复
用base64编码,可以把不可读的二进制数据转化为可读的纯文本字符串,
然后需要用的时候再base64解码就可以了,发带附件的email就这么干的
kyzy_yy_pm 2010-07-21
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 stvsui 的回复:]
建议你最好不要这么处理,不同系统中读取写二进制方式不同,特殊字符编码不同。
不信你把一个JPG用NOTE打开,然后另存一个JPG,再打开试试。
[/Quote]

晕死,老大是二进制
有理想的草根 2010-07-21
  • 打赏
  • 举报
回复
建议你最好不要这么处理,不同系统中读取写二进制方式不同,特殊字符编码不同。
不信你把一个JPG用NOTE打开,然后另存一个JPG,再打开试试。
LuciferStar 2010-07-21
  • 打赏
  • 举报
回复
文件名只是个形式,打开方式才是最关键的。
kyzy_yy_pm 2010-07-21
  • 打赏
  • 举报
回复
while(!feof($f1)){
kyzy_yy_pm 2010-07-21
  • 打赏
  • 举报
回复
[Quote=引用 3 楼 amani11 的回复:]
file_get_contents("pic.gif");//读数据

file_put_contents("pic.txt");//写数据
[/Quote]

还有就是通过二进制,如:
$f1 = fopen('*.jpg', 'rb');
$f2 = fopen('*.txt', 'ab');

while(!feof($f)){
$s = fgets($f1, 1024);
fputs($f2, $s);
}
fclose($f2);
fclose($f1);
类似上面的
amani11 2010-07-21
  • 打赏
  • 举报
回复
file_get_contents("pic.gif");//读数据

file_put_contents("pic.txt");//写数据
wm501903161 2010-07-21
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 amani11 的回复:]
没必要吧,图片文件本身也是一种数据存储方式……

如果非要读数据
file_get_contents("pic.gif");//即可得到数据,没必要借助txt文档啊
[/Quote]


那如果我就想借助txt文档,个有什么解决方法哈????
amani11 2010-07-21
  • 打赏
  • 举报
回复
没必要吧,图片文件本身也是一种数据存储方式……

如果非要读数据
file_get_contents("pic.gif");//即可得到数据,没必要借助txt文档啊

21,893

社区成员

发帖
与我相关
我的任务
社区描述
从PHP安装配置,PHP入门,PHP基础到PHP应用
社区管理员
  • 基础编程社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧