[ Поиск ] - [ Пользователи ] - [ Календарь ]
Полная Версия: Помогите отправить файл на mail
Serg_php
Здравтсвуйте. Сформировал файл exel. Но теперь как мне его записать и отправить на mail. потому что выводит мне в браузер заполненый файл. А вот на сервере храниться пустой.Как в PHPExcel получить файл?
set_include_path(get_include_path() . PATH_SEPARATOR .
'Classes/');
//подключаем и создаем класс PHPExcel
include_once 'PHPExcel.php';
$pExcel = new PHPExcel();
$pExcel->setActiveSheetIndex(0);
$aSheet = $pExcel->getActiveSheet();
$aSheet->setTitle('Первый лист');
//устанавливаем данные

$baseFont = array(
'font'=>array(
'name'=>'Arial Cyr',
'size'=>'10',
'bold'=>false
)
);

$boldFont = array(
'font'=>array(
'name'=>'Arial Cyr',
'size'=>'10',
'bold'=>true
)
);

//и позиционирование
$center = array(
'alignment'=>array(
'horizontal'=>PHPExcel_Style_Alignment::HORIZONTAL_CENTER,
'vertical'=>PHPExcel_Style_Alignment::VERTICAL_TOP
)
);

//установим жирный шрифт для заголовков
//и заодно отцентрируем

$aSheet->getStyle('A1')->applyFromArray($boldFont)
->
applyFromArray($center);
$aSheet->getStyle('B1')->applyFromArray($boldFont)
->
applyFromArray($center);
$aSheet->getStyle('C1')->applyFromArray($boldFont)
->
applyFromArray($center);
$aSheet->getStyle('D1')->applyFromArray($boldFont)
->
applyFromArray($center);
$aSheet->getStyle('E1')->applyFromArray($boldFont)
->
applyFromArray($center);
$aSheet->getStyle('F1')->applyFromArray($boldFont)
->
applyFromArray($center);
$aSheet->getStyle('G1')->applyFromArray($boldFont)
->
applyFromArray($center);
$aSheet->getStyle('H1')->applyFromArray($boldFont)
->
applyFromArray($center);
$aSheet->getStyle('I1')->applyFromArray($boldFont)
->
applyFromArray($center);
$aSheet->getStyle('J1')->applyFromArray($boldFont)
->
applyFromArray($center);
$aSheet->getStyle('K1')->applyFromArray($boldFont)
->
applyFromArray($center);
$aSheet->getStyle('L1')->applyFromArray($boldFont)
->
applyFromArray($center);
$aSheet->getStyle('M1')->applyFromArray($boldFont)
->
applyFromArray($center);
$aSheet->getStyle('N1')->applyFromArray($boldFont)
->
applyFromArray($center);
//и основной шрифт для всех остальных
for($i=2;$i<6;$i++){
$aSheet->getStyle('A'.$i)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT)->applyFromArray($baseFont);
$aSheet->getStyle('B'.$i)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT)->applyFromArray($baseFont);
$aSheet->getStyle('C'.$i)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT)->applyFromArray($baseFont);
$aSheet->getStyle('D'.$i)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT)->applyFromArray($baseFont);
$aSheet->getStyle('E'.$i)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT)->applyFromArray($baseFont);
$aSheet->getStyle('F'.$i)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT)->applyFromArray($baseFont);
$aSheet->getStyle('G'.$i)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT)->applyFromArray($baseFont);
$aSheet->getStyle('H'.$i)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT)->applyFromArray($baseFont);
$aSheet->getStyle('I'.$i)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT)->applyFromArray($baseFont);
$aSheet->getStyle('J'.$i)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT)->applyFromArray($baseFont);
$aSheet->getStyle('K'.$i)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT)->applyFromArray($baseFont);
$aSheet->getStyle('L'.$i)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT)->applyFromArray($baseFont);
$aSheet->getStyle('M'.$i)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT)->applyFromArray($baseFont);
$aSheet->getStyle('N'.$i)->getNumberFormat()->setFormatCode(PHPExcel_Style_NumberFormat::FORMAT_TEXT)->applyFromArray($baseFont);
}

include "../../../media/bd.php";

$date = date('Y-m-d');
$id = 368;//$_POST['id'];
$result1 = mysql_query("SELECT * FROM request WHERE id = '".$id."'") or die(mysql_error());
$request = mysql_fetch_array($result1);


$summa2 = "SELECT SUM(summa) as summa FROM request_vloj where id_req = '".$id."'";
$array3 = mysql_query($summa2);
$summa_select2 = @mysql_fetch_assoc($array3);
$array = $summa_select2['summa'];





$array12 = mysql_query ("SELECT * FROM `request_perevozchik` WHERE id_request = '".$id."'")or die (mysql_error());

while( $id_v = mysql_fetch_array($array12))
{
$id = $id_v['repevozchik'];
$array1 = mysql_query ("SELECT * FROM `carrier` where id='".$id."'")or die (mysql_error());
$id34 = mysql_fetch_array($array1);
}




$aSheet->setCellValue('A1','№ транспортной накладной');
$aSheet->setCellValue('A2',$request['dop19']);
$aSheet->setCellValue('A3','');
$aSheet->setCellValue('A4','');
$aSheet->setCellValue('A5','');
//названия сайтов
$aSheet->setCellValue('B1','Заявитель');
$aSheet->setCellValue('B2',zip($request['id_user']));



//мой личный рейтинг
$aSheet->setCellValue('C1','Отправитель');
$aSheet->setCellValue('C2',zip($request['zip_zabora']));



//устанавливаем ширину
//названия сайтов


$aSheet->setCellValue('D2',zip($request['zip_dostavki']));


//мой личный рейтинг
//названия сайтов

$aSheet->setCellValue('E1','Вес');
$aSheet->setCellValue('E2',is_null1($request['ves']));

$aSheet->setCellValue('E4','');
$aSheet->setCellValue('E5','');
//мой личный рейтинг
//названия сайтов

$aSheet->setCellValue('F1','Объем');
$aSheet->setCellValue('F2',is_null1($request['m3']));
$aSheet->setCellValue('F3','');
$aSheet->setCellValue('F4','');
$aSheet->setCellValue('F5','');
//мой личный рейтинг
//названия сайтов

$aSheet->setCellValue('G1','Мест');
$aSheet->setCellValue('G2',is_null1($request['mest']));
$aSheet->setCellValue('G3','');
$aSheet->setCellValue('G4','');
$aSheet->setCellValue('G5','');
//мой личный рейтинг
//названия сайтов

$aSheet->setCellValue('H1','Объемный вес');
$aSheet->setCellValue('H2',is_null1($request['m3']));
$aSheet->setCellValue('H3','');
$aSheet->setCellValue('H4','');
$aSheet->setCellValue('H5','');
//мой личный рейтинг
//названия сайтов

$aSheet->setCellValue('I1','Палет');
$aSheet->setCellValue('I2',is_null1($palet));
$aSheet->setCellValue('I3','');
$aSheet->setCellValue('I4','');
$aSheet->setCellValue('I5','');
//мой личный рейтинг
//названия сайтов

$aSheet->setCellValue('J1','Сумма');
$aSheet->setCellValue('J2',is_null1($request['summa']));
$aSheet->setCellValue('J3','');
$aSheet->setCellValue('J4','');
$aSheet->setCellValue('J5','');
//мой личный рейтинг
//названия сайтов

$aSheet->setCellValue('K1','Ценность груза');
$aSheet->setCellValue('K2',is_null1($array));
$aSheet->setCellValue('K3','');
$aSheet->setCellValue('K4','');
$aSheet->setCellValue('K5','');
//мой личный рейтинг
//названия сайтов

$aSheet->setCellValue('L1','Страховка');
$aSheet->setCellValue('L2',is_null1($pocent));
$aSheet->setCellValue('L3','');
$aSheet->setCellValue('L4','');
$aSheet->setCellValue('L5','');
//мой личный рейтинг
//названия сайтов

$aSheet->setCellValue('M1','Наложеный платеж');
$aSheet->setCellValue('M2',is_null1($request['naloj_platij1']));
$aSheet->setCellValue('M3','');
$aSheet->setCellValue('M4','');
$aSheet->setCellValue('M5','');
//мой личный рейтинг
//названия сайтов

$aSheet->setCellValue('N1','Перевозчик');
$aSheet->setCellValue('N2',$id34['tel']);
$aSheet->setCellValue('N3','');
$aSheet->setCellValue('N4','');
$aSheet->setCellValue('N5','');






if(zab(zip($request['id_user']),$request['zab']) == 1)
{

$aSheet->setCellValue('B3','1');

}else if(zab(zip($request['zip_zabora']),$request['zab']) == 1)
{
$aSheet->setCellValue('C3','1');

}else if(zab(zip($request['zip_dostavki']),$request['zab']) == 1)
{
$aSheet->setCellValue('D3','1');
}

if(zab(zip($request['id_user']),$request['ot_kogo']) == 1)
{
$aSheet->setCellValue('B4','1');


}else if(zab(zip($request['zip_zabora']),$request['ot_kogo']) == 1)
{
$aSheet->setCellValue('C4','1');

}else if(zab(zip($request['zip_dostavki']),$request['ot_kogo']) == 1)
{
$aSheet->setCellValue('D4','1');
}

if(zab(zip($request['id_user']),$request['komu']) == 1)
{
$aSheet->setCellValue('B5','1');


}else if(zab(zip($request['zip_zabora']),$request['komu']) == 1)
{
$aSheet->setCellValue('C5','1');

}else if(zab(zip($request['zip_dostavki']),$request['komu']) == 1)
{
$aSheet->setCellValue('D5','1');
}








//мой личный рейтинг
$aSheet->getColumnDimension('B')->setWidth(25);
//отдаем пользователю в браузер
include("PHPExcel/Writer/Excel5.php");
$objWriter = new PHPExcel_Writer_Excel5($pExcel);
header('Content-Type: application/vnd.ms-excel');
header('Content-Disposition: attachment;filename="rate.xls"');
header('Cache-Control: max-age=0');
$objWriter->save('php://output');




//$aSheet->SaveAs($date2);


$file = 'rate.xls';



$to = "dp.0978484494@gmail.com";




$subject = "carga";


$message = $mail;


$mailheaders = "Content-type:text/html;charset=windows-1251rn";


$mailheaders .= "From: SiteRobot <dp.0978484494@gmail.com>rn";
$mailheaders .= "Reply-To: dp.0978484494@gmail.com";
//$result1 = mysql_query("INSERT INTO num_otpravki (date) VALUES ('$date')") or die (mysql_error());


//mail($to, $subject, $csv_output, $mailheaders);


send_mail($to, $subject, '1', $file);

// Вспомогательная функция для отправки почтового сообщения с вложением

function send_mail($to, $thm, $html, $path)

{

$file=fopen($path,"rb");



$boundary = "--".md5(uniqid(time())); // генерируем разделитель

$headers .= "MIME-Version: 1.0\n";

$headers .="Content-Type: multipart/mixed; boundary=\"$boundary\"\n";

$multipart .= "--$boundary\n";

$kod = 'windows-1251'; // или $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 = "--$boundary\n";

$message_part .= "Content-Type: application/octet-stream\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 .= $message_part."--$boundary--\n";



if(!mail($to, $thm, $multipart, $headers))

{

echo "К сожалению, письмо не отправлено";

exit();

}

}

на почту приходит пустой файл



Спустя 5 минут, 49 секунд (4.10.2012 - 10:10) m4a1fox написал(а):
Serg_php
Код вы писали?

Спустя 1 минута, 4 секунды (4.10.2012 - 10:11) Serg_php написал(а):
Цитата (m4a1fox @ 4.10.2012 - 07:10)
Serg_php
Код вы писали?

Что значит куда писал. В ту же директорию где и сам файл

Спустя 39 секунд (4.10.2012 - 10:12) m4a1fox написал(а):
Serg_php
Цитата
Что значит куда писал. В ту же директорию где и сам файл

Читай внимательнее.

Спустя 57 секунд (4.10.2012 - 10:13) Игорь_Vasinsky написал(а):
он он.

Спустя 1 минута (4.10.2012 - 10:14) Serg_php написал(а):
Цитата (m4a1fox @ 4.10.2012 - 07:12)
Serg_php
Цитата
Что значит куда писал. В ту же директорию где и сам файл

Читай внимательнее.

ааа, извеняюсь. нет, это библиотека.

Спустя 9 минут, 44 секунды (4.10.2012 - 10:23) m4a1fox написал(а):
Serg_php
Цитата
ааа, извеняюсь. нет, это библиотека.

Ок! То есть копи паст говоря проще. Тогда лови клац

Спустя 23 минуты, 26 секунд (4.10.2012 - 10:47) Serg_php написал(а):
Цитата (m4a1fox @ 4.10.2012 - 07:23)
Serg_php
Цитата
ааа, извеняюсь. нет, это библиотека.

Ок! То есть копи паст говоря проще. Тогда лови клац

Спасибо
Быстрый ответ:

 Графические смайлики |  Показывать подпись
Здесь расположена полная версия этой страницы.
Invision Power Board © 2001-2024 Invision Power Services, Inc.