Форум: Форум PHPФорум ApacheФорум Регулярные ВыраженияФорум MySQLHTML+CSS+JavaScriptФорум FlashРазное
Новые темы: 0000000
PHP 5. На примерах. Авторы: Кузнецов М.В., Симдянов И.В., Голышев С.В. MySQL на примерах. Авторы: Кузнецов М.В., Симдянов И.В. Социальная инженерия и социальные хакеры. Авторы: Кузнецов М.В., Симдянов И.В. C++. Мастер-класс в задачах и примерах. Авторы: Кузнецов М.В., Симдянов И.В. Самоучитель MySQL 5. Авторы: Кузнецов М.В., Симдянов И.В.
ВСЕ НАШИ КНИГИ
Консультационный центр SoftTime

Форум PHP

Выбрать другой форум

 

Здравствуйте, Посетитель!

вид форума:
Линейный форум Структурный форум

тема: Отправка сообщения с вложением!
 
 автор: Karum   (03.05.2005 в 11:09)   письмо автору
 
 

Что-то я не понял в одной теме вообще нечего не понять !

Вот смотрите файл index.html


<HTML> 
<HEAD> 
<TITLE>Отправка сообщения</TITLE> 
</HEAD> 
<BODY> 
<form action=send.php method=post> 
<input type=file name=path maxlength=32><br>
<input type=submit value='Отправить'> 
</form> 
</BODY> 
</HTML> 



а теперь файл ПХП send.php


<?php

$to 
"os_mishyn@ukr.net";

send_mail($to$path);
function 
send_mail($to$path
  { 
    
$fp fopen($path,"r"); 
    if (!
$fp
    { 
      print 
"Файл $path не найден"
      exit(); 
    } 
    
$file fread($fpfilesize($path)); 
    
fclose($fp); 
    
$path substr($path,12); 
    
    
$boundary "--".md5(uniqid(time())); // генерируем разделитель 
    
$headers .= "MIME-Version: 1.0\n"
    
$headers .="Content-Type: multipart/mixed; boundary=\"$boundary\"\n"
    
$multipart .= "--$boundary\n"
    
$kod 'windows-1251'
    
$multipart .= "Content-Type: text/html; charset=$kod\n"
    
$multipart .= "Content-Transfer-Encoding: Quot-Printed\n\n"
    
$multipart .= "$html\n\n"

    
$message_part ""
    
$message_part .= "Content-Type: application/octet-stream"
    
$message_part .= "; file_name = \"$path\"\n"
    
$message_part .= "Content-Transfer-Encoding: base64\n"
    
$message_part .= "Content-Disposition: attachment; filename = \"".$path."\"\n\n"
    
$message_part .= chunk_split(base64_encode($file))."\n"
    
$multipart .= "--$boundary\n".$message_part."--$boundary--\n"

    if(
mail($to$thm$multipart$headers)) 
    { 
    
$del=unlink("$sid.csv"); 
    echo 
"Сообщение отправлено"
    } 
    else 
    { 
    
$del=unlink("$sid.csv"); 
    echo 
"Сообщение не было отправлено"
    } 
  } 
?> 

И в конце концов пишет что файл для вложения не найден!

   
 
 автор: glsv (Дизайнер)   (03.05.2005 в 11:49)   письмо автору
 
   для: Karum   (03.05.2005 в 11:09)
 

Для того, чтобы файлы пересылались через форму необходимо указать параметр enctype="multipart/form-data" в описании формы

<form action=send.php method=post enctype="multipart/form-data">

   
 
 автор: Karum   (03.05.2005 в 12:20)   письмо автору
 
   для: glsv (Дизайнер)   (03.05.2005 в 11:49)
 

В общем тебе спасибо Дизайнер что-то пришло, но ошибка на 37 строке
И пришол не рисунок а какая-то байдень место id_3d_1.gif пришло tg.(с неизвестным форматом!)


А правильно так

<?php

$to 
"os_mishyn@ukr.net";

send_mail($to$path);
function 
send_mail($to$path
  { 
    
$fp fopen($path,"r"); 
    if (!
$fp
    { 
      print 
"Файл $path не найден"
      exit(); 
    } 
    
$file fread($fpfilesize($path)); 
    
fclose($fp); 
    
$path substr($path,12); 
    
    
$boundary "--".md5(uniqid(time())); // генерируем разделитель 
    
$headers .= "MIME-Version: 1.0\n"
    
$headers .="Content-Type: multipart/mixed; boundary=\"$boundary\"\n"
    
$multipart .= "--$boundary\n"
    
$kod 'windows-1251'
    
$multipart .= "Content-Type: text/html; charset=$kod\n"
    
$multipart .= "Content-Transfer-Encoding: Quot-Printed\n\n"
    
$multipart .= "$html\n\n"

    
$message_part ""
    
$message_part .= "Content-Type: application/octet-stream"
    
$message_part .= "; file_name = \"$path\"\n"
    
$message_part .= "Content-Transfer-Encoding: base64\n"
    
$message_part .= "Content-Disposition: attachment; filename = \"".$path."\"\n\n"
    
$message_part .= chunk_split(base64_encode($file))."\n"
    
$multipart .= "--$boundary\n".$message_part."--$boundary--\n"

     if(!
mail($to$thm$multipart$headers)) 
    { 
      echo 
"К сожалению, письмо не отправлено"
      exit(); 
    } 
       else
{echo 
"Сообщение успешно отправлено!";}
  } 

?> 


Но всеравно приходит с коннч... разширением!
Как сделать чтобы приходил файл с его же разширением

   
 
 автор: Karum   (03.05.2005 в 19:14)   письмо автору
 
   для: Karum   (03.05.2005 в 12:20)
 

Ну помогите же, Пожалуйста!

   
Rambler's Top100
вверх

Rambler's Top100 Яндекс.Метрика Яндекс цитирования