unable to view pdf file sent as email attachment

PHP programming forum. Ask questions or help people concerning PHP code. Don't understand a function? Need help implementing a class? Don't understand a class? Here is where to ask. Remember to do your homework!

Moderator: General Moderators

Post Reply
shankari
Forum Newbie
Posts: 9
Joined: Mon Oct 03, 2011 9:37 am

unable to view pdf file sent as email attachment

Post by shankari »

I get the error:
Adobe reader could not open 'xxx.pdf' because it is either not a supported fiel type orbecause the file has been damaged(for example, it was sent as an email attachment and wasn't correctly decoded)

here is my php code
<?php

Code: Select all

$fpart=$_FILES["file"]["name"];
$to="xxx@hotmail.com";
$from="xxx@yahoo.com";
$subject="Event Registration - For approval";
$message="Event Registration Request.....";
$headers="From:".$from;
  $random_hash = md5(date('r', time()));

  $headers .= "\r\nContent-Type: multipart/mixed; boundary=\"PHP-mixed-".$random_hash."\"";
  $attachment = chunk_split(base64_encode(file_get_contents("Events/".$fpart)));

//mail($to,$subject,$message,$headers);

  $output = "
--PHP-mixed-$random_hash;
Content-Type: multipart/alternative; boundary='PHP-alt-$random_hash'
--PHP-alt-$random_hash
Content-Type: text/plain; charset='iso-8859-1'
Content-Transfer-Encoding: 7bit
 
Hello World!
This is the simple text version of the email message.
 
--PHP-alt-$random_hash
Content-Type: text/html; charset='iso-8859-1'
Content-Transfer-Encoding: 7bit
 
<h2>Hello World!</h2>
<p>This is the <b>HTML</b> version of the email message.</p>
 
--PHP-alt-$random_hash--
 
--PHP-mixed-$random_hash
Content-Type: application/zip; name={$fpart}
Content-Transfer-Encoding: base64
Content-Disposition: attachment
 
$attachment
--PHP-mixed-$random_hash--";
 
  echo @mail($to, $subject, $output, $headers);

}	
?>


User avatar
twinedev
Forum Regular
Posts: 984
Joined: Tue Sep 28, 2010 11:41 am
Location: Columbus, Ohio

Re: unable to view pdf file sent as email attachment

Post by twinedev »

Well, in one section you are assigning $fpart from the $_FILES variable, indicating that you are working with an uploaded file. However on the file_get_contents() function, you are trying to read the file from a specific location, which on most default server setups, would not be where PHP would keep the uploaded file.

Do you have code somewhere before this that takes the uploaded file and moves it to the Events folder?? One way to tell would be to look at the raw e-mail you are sending to make sure, does it appear to have a lot of data in the section where you expect the file to be?

Also one thing to note, you are saying the file type is application/zip, instead of pdf? (not sure if that would make a difference)
shankari
Forum Newbie
Posts: 9
Joined: Mon Oct 03, 2011 9:37 am

Re: unable to view pdf file sent as email attachment

Post by shankari »

Here is the code that moves the uploaded file to the Events folder

Code: Select all

$file_name=$_FILES["file"]["name"];
if(file_exists("Events/".$fpart)) 
		{
		 //  echo $_FILES["file"]["name"]."already exists..";
		}
		else
		{
		move_uploaded_file($_FILES["file"]["tmp_name"],"Events/".$fpart);
                 	}

I am new to PHP can u fix the issues.. please

shankari
shankari
Forum Newbie
Posts: 9
Joined: Mon Oct 03, 2011 9:37 am

Re: unable to view pdf file sent as email attachment

Post by shankari »

I missed a line. here is the updated one.

Code: Select all

$file_name=$_FILES["file"]["name"];
$fpart=$file_name;
if(file_exists("Events/".$fpart)) 
                {
                 //  echo $_FILES["file"]["name"]."already exists..";
                }
                else
                {
                move_uploaded_file($_FILES["file"]["tmp_name"],"Events/".$fpart);
                        }
Last edited by Benjamin on Tue Nov 08, 2011 1:44 am, edited 1 time in total.
Reason: Added [syntax=php|sql|css|javascript] and/or [text] tags.
shankari
Forum Newbie
Posts: 9
Joined: Mon Oct 03, 2011 9:37 am

Re: unable to view pdf file sent as email attachment

Post by shankari »

one more hitch

How do I send any type of file (pdf,/txt/doc/jpg) as an email attachment
Post Reply