The Shed is going Social! Join us on FaceBook and Twitter and chime in on the conversation.
|
 |
|
Dev Shed Forums
> Programming Languages
> PHP Development
|
PHP-General - Decode Base64 file and allow to download it
Discuss Decode Base64 file and allow to download it in the PHP Development forum on Dev Shed. Decode Base64 file and allow to download it PHP Development forum discussing coding practices, tips on PHP, and other PHP-related topics. PHP is an open source scripting language that has taken the web development industry by storm.
|
|
 |
|
|
|
|

Dev Shed Forums Sponsor:
|
|
|

January 14th, 2013, 07:01 AM
|
|
Contributing User
|
|
Join Date: Dec 2007
Posts: 45
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.
|

January 14th, 2013, 12:17 PM
|
 |
Still alive
|
|
Join Date: Mar 2007
Location: Washington, USA
|
|
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.
|

January 14th, 2013, 10:22 PM
|
|
Contributing User
|
|
Join Date: Dec 2007
Posts: 45
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($attachmentFile, CURLOPT_URL, $attachmentFileURL);
curl_setopt($attachmentFile, CURLOPT_HTTPGET, true);
curl_setopt($attachmentFile, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($attachmentFile, CURLOPT_POSTFIELDS, false);
curl_setopt($attachmentFile, CURLOPT_RETURNTRANSFER, true);
$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;
}
|

January 14th, 2013, 10:44 PM
|
 |
Still alive
|
|
Join Date: Mar 2007
Location: Washington, USA
|
|
|
Well, to start with you can't output multiple files at once. Only one at a time.
|

January 14th, 2013, 10:45 PM
|
|
|
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);
|

January 15th, 2013, 12:32 AM
|
|
Contributing User
|
|
Join Date: Dec 2007
Posts: 45
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($attachmentFile, CURLOPT_URL, $attachmentFileURL);
curl_setopt($attachmentFile, CURLOPT_HTTPGET, true);
curl_setopt($attachmentFile, CURLOPT_CUSTOMREQUEST, 'GET');
curl_setopt($attachmentFile, CURLOPT_POSTFIELDS, false);
curl_setopt($attachmentFile, CURLOPT_RETURNTRANSFER, true);
$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.
|

January 15th, 2013, 06:18 AM
|
|
|
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.
|

January 15th, 2013, 08:51 AM
|
|
Contributing User
|
|
Join Date: Dec 2007
Posts: 45
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 
|
Developer Shed Advertisers and Affiliates
| Thread Tools |
Search this Thread |
|
|
|
| Display Modes |
Rate This Thread |
Linear Mode
|
|
Posting Rules
|
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts
HTML code is Off
|
|
|
|
|