PHP Development
 
Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
User Name:
Password:
Remember me

The Shed is going Social! Join us on FaceBook and Twitter and chime in on the conversation.

Go Back   Dev Shed ForumsProgramming LanguagesPHP Development

Reply
Add This Thread To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 
Thread Tools Search this Thread Rate Thread Display Modes
 
Unread Dev Shed Forums Sponsor:
  #1  
Old January 14th, 2013, 07:01 AM
eludic eludic is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Dec 2007
Posts: 45 eludic User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 9 h 48 m 41 sec
Reputation Power: 6
PHP-General - Decode Base64 file and allow to download it

I am currently working on an API which saves files in the database using base64 encoding. Using the API I am able to retrieve the file details however how do I go about decoding this file and offer it to be downloaded to the person accessing it?

API retrieves the following information:

Code:
<?xml version="1.0" encoding="UTF-8"?>
<attachments>
<attachment>
<id><![CDATA[1]]></id>
<ticketid><![CDATA[1]]></ticketid>
<ticketpostid><![CDATA[7]]></ticketpostid>
<filename><![CDATA[574676_436949196354271_1469429872_n.jpg]]></filename>
<filesize><![CDATA[18808]]></filesize>
<filetype><![CDATA[image/pjpeg]]></filetype>
<dateline><![CDATA[1354022822]]></dateline>
<contents><![CDATA[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]]></contents>
</attachment>
</attachments>


The file can be any type of files - image, PDF, etc. I want to read the file and offer it to be downloaded as:

Filename (link to download on it) - File size - Date

Thank You for your reply in advance.

Reply With Quote
  #2  
Old January 14th, 2013, 12:17 PM
requinix's Avatar
requinix requinix is offline
Still alive
Click here for more information.
 
Join Date: Mar 2007
Location: Washington, USA
Posts: 12,711 requinix User rank is General 120th Grade (Above 100000 Reputation Level)requinix User rank is General 120th Grade (Above 100000 Reputation Level)requinix User rank is General 120th Grade (Above 100000 Reputation Level)requinix User rank is General 120th Grade (Above 100000 Reputation Level)requinix User rank is General 120th Grade (Above 100000 Reputation Level)requinix User rank is General 120th Grade (Above 100000 Reputation Level)requinix User rank is General 120th Grade (Above 100000 Reputation Level)requinix User rank is General 120th Grade (Above 100000 Reputation Level)requinix User rank is General 120th Grade (Above 100000 Reputation Level)requinix User rank is General 120th Grade (Above 100000 Reputation Level)requinix User rank is General 120th Grade (Above 100000 Reputation Level)requinix User rank is General 120th Grade (Above 100000 Reputation Level)requinix User rank is General 120th Grade (Above 100000 Reputation Level)requinix User rank is General 120th Grade (Above 100000 Reputation Level)requinix User rank is General 120th Grade (Above 100000 Reputation Level)requinix User rank is General 120th Grade (Above 100000 Reputation Level)  Folding Points: 417516 Folding Title: Super Ultimate Folder - Level 1Folding Points: 417516 Folding Title: Super Ultimate Folder - Level 1Folding Points: 417516 Folding Title: Super Ultimate Folder - Level 1Folding Points: 417516 Folding Title: Super Ultimate Folder - Level 1Folding Points: 417516 Folding Title: Super Ultimate Folder - Level 1Folding Points: 417516 Folding Title: Super Ultimate Folder - Level 1
Time spent in forums: 5 Months 1 Week 4 Days 6 h 48 m 5 sec
Reputation Power: 8969
Send a message via AIM to requinix Send a message via MSN to requinix Send a message via Yahoo to requinix Send a message via Google Talk to requinix
Use the <filetype> like
PHP Code:
 header("Content-Type: {$filetype}"); 

Add another header
PHP Code:
 header("Content-Transfer-Encoding: base64"); 

Then output the <contents> and the client will decode it automatically. If there are problems with that, perhaps a dumb client, then remove the Content-Transfer-Encoding header and decode the content yourself.

Reply With Quote
  #3  
Old January 14th, 2013, 10:22 PM
eludic eludic is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Dec 2007
Posts: 45 eludic User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 9 h 48 m 41 sec
Reputation Power: 6
Thank you for the reply. However if I use the following code it just prints junk characters
PHP Code:
 $attachmentFile curl_init();
curl_setopt($attachmentFileCURLOPT_URL$attachmentFileURL);
curl_setopt($attachmentFileCURLOPT_HTTPGETtrue);
curl_setopt($attachmentFileCURLOPT_CUSTOMREQUEST'GET');
curl_setopt($attachmentFileCURLOPT_POSTFIELDSfalse);
curl_setopt($attachmentFileCURLOPT_RETURNTRANSFERtrue);
$attachmentFileresult curl_exec($attachmentFile);
curl_close($attachmentFile);
 
$attachmentfiles = new SimpleXMLElement($attachmentFileresult);
 
foreach (
$attachmentfiles -> attachment as $row){
// Assign necessary variable to work upon
$filename $row -> filename;
$filetype $row -> filetype;
$filesize $row -> filesize;
$file $row -> contents;
$file base64_decode($file);
 
header("Content-type: $filetype");
header("Content-length: $filesize");
header("Content-Disposition: attachment; filename=$filename");
     
echo 
$file;


Reply With Quote
  #4  
Old January 14th, 2013, 10:44 PM
requinix's Avatar
requinix requinix is offline
Still alive
Click here for more information.
 
Join Date: Mar 2007
Location: Washington, USA
Posts: 12,711 requinix User rank is General 120th Grade (Above 100000 Reputation Level)requinix User rank is General 120th Grade (Above 100000 Reputation Level)requinix User rank is General 120th Grade (Above 100000 Reputation Level)requinix User rank is General 120th Grade (Above 100000 Reputation Level)requinix User rank is General 120th Grade (Above 100000 Reputation Level)requinix User rank is General 120th Grade (Above 100000 Reputation Level)requinix User rank is General 120th Grade (Above 100000 Reputation Level)requinix User rank is General 120th Grade (Above 100000 Reputation Level)requinix User rank is General 120th Grade (Above 100000 Reputation Level)requinix User rank is General 120th Grade (Above 100000 Reputation Level)requinix User rank is General 120th Grade (Above 100000 Reputation Level)requinix User rank is General 120th Grade (Above 100000 Reputation Level)requinix User rank is General 120th Grade (Above 100000 Reputation Level)requinix User rank is General 120th Grade (Above 100000 Reputation Level)requinix User rank is General 120th Grade (Above 100000 Reputation Level)requinix User rank is General 120th Grade (Above 100000 Reputation Level)  Folding Points: 417516 Folding Title: Super Ultimate Folder - Level 1Folding Points: 417516 Folding Title: Super Ultimate Folder - Level 1Folding Points: 417516 Folding Title: Super Ultimate Folder - Level 1Folding Points: 417516 Folding Title: Super Ultimate Folder - Level 1Folding Points: 417516 Folding Title: Super Ultimate Folder - Level 1Folding Points: 417516 Folding Title: Super Ultimate Folder - Level 1
Time spent in forums: 5 Months 1 Week 4 Days 6 h 48 m 5 sec
Reputation Power: 8969
Send a message via AIM to requinix Send a message via MSN to requinix Send a message via Yahoo to requinix Send a message via Google Talk to requinix
Well, to start with you can't output multiple files at once. Only one at a time.

Reply With Quote
  #5  
Old January 14th, 2013, 10:45 PM
NotionCommotion NotionCommotion is offline
Contributing User
Click here for more information.
 
Join Date: Sep 2006
Posts: 1,464 NotionCommotion User rank is Colonel (50000 - 60000 Reputation Level)NotionCommotion User rank is Colonel (50000 - 60000 Reputation Level)NotionCommotion User rank is Colonel (50000 - 60000 Reputation Level)NotionCommotion User rank is Colonel (50000 - 60000 Reputation Level)NotionCommotion User rank is Colonel (50000 - 60000 Reputation Level)NotionCommotion User rank is Colonel (50000 - 60000 Reputation Level)NotionCommotion User rank is Colonel (50000 - 60000 Reputation Level)NotionCommotion User rank is Colonel (50000 - 60000 Reputation Level)NotionCommotion User rank is Colonel (50000 - 60000 Reputation Level)NotionCommotion User rank is Colonel (50000 - 60000 Reputation Level)NotionCommotion User rank is Colonel (50000 - 60000 Reputation Level)NotionCommotion User rank is Colonel (50000 - 60000 Reputation Level) 
Time spent in forums: 2 Weeks 1 Day 6 h 21 m 36 sec
Reputation Power: 526
Your multiple headers doesn't make sense:
PHP Code:
foreach ($attachmentfiles -> attachment as $row){
...
header("Content-type: $filetype");
header("Content-length: $filesize");
header("Content-Disposition: attachment; filename=$filename");
...



Try adding the following after curl_close($attachmentFile); and seeing what it looks like.
PHP Code:
exit('<pre>'.print_r($attachmentFileresult,1).'</pre>'); 


Afterwards, add something similar after $attachmentfiles = new SimpleXMLElement($attachmentFileresult);

Reply With Quote
  #6  
Old January 15th, 2013, 12:32 AM
eludic eludic is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Dec 2007
Posts: 45 eludic User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 9 h 48 m 41 sec
Reputation Power: 6
This is the output for the <pre> code:
Code:
<?xml version="1.0" encoding="UTF-8"?>
<attachments>
<attachment>
<id><![CDATA[1]]></id>
<ticketid><![CDATA[1]]></ticketid>
<ticketpostid><![CDATA[7]]></ticketpostid>
<filename><![CDATA[574676_436949196354271_1469429872_n.jpg]]></filename>
<filesize><![CDATA[18808]]></filesize>
<filetype><![CDATA[image/pjpeg]]></filetype>
<dateline><![CDATA[1354022822]]></dateline>
<contents><![CDATA[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]]></contents>
</attachment>
</attachments>


I changed the code considering there is just one attachment in the example I am trying yet it does not work:
PHP Code:
 $attachmentFile curl_init(); 
    
curl_setopt($attachmentFileCURLOPT_URL$attachmentFileURL);
    
curl_setopt($attachmentFileCURLOPT_HTTPGETtrue);
    
curl_setopt($attachmentFileCURLOPT_CUSTOMREQUEST'GET'); 
    
curl_setopt($attachmentFileCURLOPT_POSTFIELDSfalse); 
    
curl_setopt($attachmentFileCURLOPT_RETURNTRANSFERtrue);
    
$attachmentFileresult curl_exec($attachmentFile); 
    
curl_close($attachmentFile);
    
    
// echo "<pre>"; 
    // echo htmlentities($attachmentFileresult);
    
    
$attachmentfiles = new SimpleXMLElement($attachmentFileresult);
    
    foreach (
$attachmentfiles -> attachment as $row){
        
// Assign necessary variable to work upon
        
$filename = (string)$row -> filename;
        
$filetype = (string)$row -> filetype;
        
$filesize = (string)$row -> filesize;
        
$file = (string)$row -> contents;
        
$file base64_decode($file);
    }
            
        
header("Content-type: $filetype");
        
header("Content-length: $filesize");
        
header("Content-Disposition: attachment; filename=$filename");
        
        
readfile($file);
        
//echo $filesize; 

Last edited by eludic : January 15th, 2013 at 12:53 AM.

Reply With Quote
  #7  
Old January 15th, 2013, 06:18 AM
NotionCommotion NotionCommotion is offline
Contributing User
Click here for more information.
 
Join Date: Sep 2006
Posts: 1,464 NotionCommotion User rank is Colonel (50000 - 60000 Reputation Level)NotionCommotion User rank is Colonel (50000 - 60000 Reputation Level)NotionCommotion User rank is Colonel (50000 - 60000 Reputation Level)NotionCommotion User rank is Colonel (50000 - 60000 Reputation Level)NotionCommotion User rank is Colonel (50000 - 60000 Reputation Level)NotionCommotion User rank is Colonel (50000 - 60000 Reputation Level)NotionCommotion User rank is Colonel (50000 - 60000 Reputation Level)NotionCommotion User rank is Colonel (50000 - 60000 Reputation Level)NotionCommotion User rank is Colonel (50000 - 60000 Reputation Level)NotionCommotion User rank is Colonel (50000 - 60000 Reputation Level)NotionCommotion User rank is Colonel (50000 - 60000 Reputation Level)NotionCommotion User rank is Colonel (50000 - 60000 Reputation Level) 
Time spent in forums: 2 Weeks 1 Day 6 h 21 m 36 sec
Reputation Power: 526
Quote:
A good life is when you smile often, dream big, laugh a lot and realize how blessed you are for what you have.


Change readfile($file); to echo($file);

http://php.net/manual/en/function.readfile.php accepts just the files name with path on the server. $file is the actual binary file.

Reply With Quote
  #8  
Old January 15th, 2013, 08:51 AM
eludic eludic is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Dec 2007
Posts: 45 eludic User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 9 h 48 m 41 sec
Reputation Power: 6
Thank You for the replies

I managed to fix it. Thanks again

Reply With Quote
Reply

Viewing: Dev Shed ForumsProgramming LanguagesPHP Development > PHP-General - Decode Base64 file and allow to download it

Developer Shed Advertisers and Affiliates



Thread Tools  Search this Thread 
Search this Thread:

Advanced Search
Display Modes  Rate This Thread 
Rate This Thread:


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
View Your Warnings | New Posts | Latest News | Latest Threads | Shoutbox
Forum Jump

Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
  
 


Powered by: vBulletin Version 3.0.5
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.

© 2003-2013 by Developer Shed. All rights reserved. DS Cluster - Follow our Sitemap