最近在很努力的学习PHP中……学习中遇到一难题,还希望各位前辈指教。如何实现将图像保存在txt中,再从txt中将图像取出来?????

解决方案 »

  1.   

    没必要吧,图片文件本身也是一种数据存储方式……如果非要读数据
    file_get_contents("pic.gif");//即可得到数据,没必要借助txt文档啊
      

  2.   

    那如果我就想借助txt文档,个有什么解决方法哈????
      

  3.   

    file_get_contents("pic.gif");//读数据file_put_contents("pic.txt");//写数据
      

  4.   


    还有就是通过二进制,如:
    $f1 = fopen('*.jpg', 'rb');
    $f2 = fopen('*.txt', 'ab');while(!feof($f)){
        $s = fgets($f1, 1024);
        fputs($f2, $s);
    }
    fclose($f2);
    fclose($f1);
    类似上面的
      

  5.   

    建议你最好不要这么处理,不同系统中读取写二进制方式不同,特殊字符编码不同。
    不信你把一个JPG用NOTE打开,然后另存一个JPG,再打开试试。
      

  6.   

    用base64编码,可以把不可读的二进制数据转化为可读的纯文本字符串,
    然后需要用的时候再base64解码就可以了,发带附件的email就这么干的
      

  7.   

    读取文件 保存为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;
    这个是保存百度视频图片的代码片段 可能会有帮助
      

  8.   

    $handler=fopen("demo.txt","r");
    while(false==feof($handler)){
    //逐行读取数据
    $content=fgets($handler);
    //逐字读取
    $contents=fgetc($handler);
    }
    fclose($handler);
      

  9.   

    本帖最后由 xuzuning 于 2010-07-22 09:58:42 编辑
      

  10.   

    $a=file_get_contents('http://avatar.profile.csdn.net/6/6/4/2_happy664618843.jpg');
    file_put_contents('a.txt',$a);以十六进制可以打
      

  11.   

    你保存图片的路径到txt
    再读取即可...