Модераторы: skyboy, MoLeX, Aliance, ksnk
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Шаблон из .*rtf файла 
V
    Опции темы
helflip
  Дата 2.2.2007, 16:21 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 146
Регистрация: 14.5.2006
Где: Moscow

Репутация: 2
Всего: 4



Всем привет! 
У меня такая проблема. Есть файл old.rtf, в нем договор и надо заменить некоторые данные из базы средствами пхп.

В ртфе места которые надо заменить заключены в {NOMER},{TYPE},{DATA} и т.д.
у меня такой код
Код

<?php
$filename1 = "old.rtf";
$filename2 = "new.rtf";
//echo "<BR><BR><BR><BR><center>Opening file<b><font color = red> - ".$filename1." & ".$filename2."</font></b><BR>";
//Открываем файлы 
$handler1 = fopen($filename1,"r");
$handler2 = fopen($filename2,"w+");
//Читаем файлы*/
$con1 = file_get_contents($filename1);
$con2 = file_get_contents($filename2);
//Определяе длинну файла
$lenght1 = strlen($con1);

if ($lenght1==0){
    echo "Файл пуст!";
}else{
    
$edit1 = str_replace("\{NOMER\}","666",$con1);
//$edit2 = str_replace("\{TYPE\}","msk",$edit1);
$edit3 = str_replace("\{DATA\}","02.02.07",$edit1);
$edit4 = str_replace("\{ORG_NAME\}",'ООО "Ромашка"',$edit3);
/*$edit5 = str_replace("\{DOLZNOST\}","Генеральный директор",$edit4);
$edit6 = str_replace("\{GEN_NAME\}","Иванов Иван Иванович",$edit5);
$edit7 = str_replace("\{OSNOVANIE\}","Устава",$edit6);
$edit8 = str_replace("\{INN\}","266877945",$edit7);
$edit9 = str_replace("\{KPP\}","299338449",$edit8);
$edit10 = str_replace("\{ADRES\}","Москва, м.Новослободская",$edit9);
$edit11 = str_replace("\{SCHET\}","999.9.999.9999999",$edit10);
$edit12 = str_replace("\{PRICE_YSTAN\}","150(Сто пятьдесят)",$edit11);
$edit13 = str_replace("\{PRICE_OBSL\}","750(Семьсод пятьдесят)",$edit12);
*/
header('Content-type: text/rtf');
header("Content-Disposition: attachment; filename=".$filename2);
echo $edit4;
}
?>


Беда вот в чем, он не заменяет все поля. а заменяет только поле {NOMER} и поле {TYPE} и только в конце документа. Кто что подскажет?
Заранее благодарен!
--------------------
 
PM MAIL   Вверх
mishaSL
Дата 2.2.2007, 17:35 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Эксперт
***


Профиль
Группа: Участник Клуба
Сообщений: 1046
Регистрация: 10.1.2007
Где: Санкт-Петербург

Репутация: 19
Всего: 54



Ты просто запутался полностью.
Пробуй так:
Код

<?php
$fileName        = 'old.rtf';
$strInReplace    = array('{DATE}', '{NOMER}'); // и т.д.
$strOutReplace    = array('01/02/2007', '656565'); // и т.д.

$cont = file_get_contents($fileName);
$cont = str_replace($strInReplace, $strOutReplace, $cont);
header('Content-type: text/rtf');
header("Content-Disposition: attachment; filename=".$fileName);
echo $cont;
?>


Это сообщение отредактировал(а) mishaSL - 2.2.2007, 17:35


--------------------
Лучший способ научиться программированию - это посмотреть как это делают другие...
PM MAIL   Вверх
helflip
Дата 5.2.2007, 09:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 146
Регистрация: 14.5.2006
Где: Moscow

Репутация: 2
Всего: 4



ну тогда вот так, и всеравно не работаетsmile
Код

<?php
$fileName        = 'old.rtf';
$strInReplace    = array('\{NOMER\}', '\{TYPE\}'); // и т.д.
$strOutReplace    = array('1001', 'msk'); // и т.д.

$cont = file_get_contents($fileName);
$cont1 = str_replace($strInReplace, $strOutReplace, $cont);
header('Content-type: text/rtf');
header("Content-Disposition: attachment; filename=".$fileName);
echo $cont1;
?>


Кто что еще подскажет?
 smile 
--------------------
 
PM MAIL   Вверх
-=Ustas=-
Дата 5.2.2007, 09:51 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Ustix IT Group
****


Профиль
Группа: Участник Клуба
Сообщений: 2222
Регистрация: 21.1.2005
Где: Краснодар

Репутация: 32
Всего: 69



Посмотри что в $cont?


--------------------
В искаженном мире все догмы одинаково произвольны, включая догму о произвольности догм.
-----
PM WWW ICQ Skype   Вверх
helflip
Дата 5.2.2007, 10:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 146
Регистрация: 14.5.2006
Где: Moscow

Репутация: 2
Всего: 4



там закодированный ртф файл!
--------------------
 
PM MAIL   Вверх
helflip
  Дата 5.2.2007, 12:46 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 146
Регистрация: 14.5.2006
Где: Moscow

Репутация: 2
Всего: 4



Все, я разобрался, спасибо! просто с ртфом косяк был. Он при кодировке файла заменял {NOMER} на \{NOMER\}, я убрал нахрен скобки и заработало.
Вот код кому интересно:
Код

<?php
$filename = 'old.rtf';
include("../inc/config.php");
$msquery0 = "SELECT     base_doc_im.*, dogovora.dat_vkluch, dogovora.dat_otkluch, dogovora.dat_blokir, dogovora.summa_obsluziv_do_zameni, 
                      dogovora.suuma_podkluch_do_zameni, dogovora.old_dog, dogovora.dat_old_dog, dogovora.prichina_zakritiya, dogovora.dat_old_dog_zamena, 
                      dogovora.dat_razblokir, kontakts.e_mail, kontakts.contact_face, kontakts.telephon, kontakts.addresss, kontakts.M_dogovora AS Expr1, scheta.schet, 
                      scheta.M_dogovora AS Expr2
FROM         base_doc_im INNER JOIN
                      dogovora ON base_doc_im.M_dogovora = dogovora.M_dogovora INNER JOIN
                      kontakts ON base_doc_im.M_dogovora = kontakts.M_dogovora INNER JOIN
                      scheta ON base_doc_im.M_dogovora = scheta.M_dogovora
WHERE     base_doc_im.M_dogovora ='".$_GET['M_dogovora']."'";                 
$msresults0 = mssql_query($msquery0);
if(mssql_num_rows($msresults0)!=0)
{
while ($row3= mssql_fetch_array($msresults0))
 {
$strOutReplace = array(
                 'M_dogovora'         =>   $row3['M_dogovora'],
                 'tip_dogovora'        =>   $row3['tip_dogovora'],
                 'organization_name'    =>   $row3['organization_name'],
                 'data_dogovora'        =>   $row3['data_dogovora'],
                 'dolznost_rp'            =>   $row3['dolznost_rp'],
                 'rukovoditel_rp'        =>   $row3['rukovoditel_rp'],
                 'dolznost'            =>   $row3['dolznost'],
                 'osnovanie'            =>     $row3['osnovanie'],
                 'rukovoditel'            =>   $row3['rukovoditel'],
                 'INN'                    =>     $row3['INN'],
                 'KPP'                    =>     $row3['KPP'],
                 'addresss'                =>     $row3['addresss'],
                 'schet'                =>     $row3['schet'],
                 'summa_podklucheniya'  =>     $row3['summa_podklucheniya'],
                 'summa_obsluzivaniya'  =>     $row3['summa_obsluzivaniya']); 
 }
}
$strInReplace    = array('NOMER',
                         'TYPE',
                         'ORG',
                         'DATA',
                         'DOLZNOSTRP',
                         'GENNRP',
                         'DOLZNOST',
                         'OSNOV',
                         'GENN',
                         'INN',
                         'KPP',
                         'ADRES',
                         'SCHET',
                         'PRICEYSTAN',
                         'PRICEOBSL'); // и т.д.

$cont = file_get_contents($fileName);
$cont = str_replace($strInReplace, $strOutReplace, $cont);
header('Content-type: text/rtf');
header("Content-Disposition: attachment; filename=".$fileName);
echo $cont;
?>




Это сообщение отредактировал(а) helflip - 5.2.2007, 12:47
--------------------
 
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "PHP"
Aliance
IZ@TOP
skyboy
SamDark
MoLeX

Новичкам:

  • PHP редакторы собираются и обсуждаются здесь
  • Электронные книги по PHP, документацию можно найти здесь
  • Интерпретатор PHP, полную документацию можно скачать на PHP.NET

Важно:

  • Не брезгуйте пользоваться тегами [code=php]КОД[/code] для повышения читабельности текста/кода.
  • Перед созданием новой темы воспользуйтесь поиском и загляните в FAQ
  • Действия модераторов можно обсудить здесь

Внимание:

  • Темы "ищу скрипт", "подскажите скрипт" и т.п. будут переноситься в форум "Web-технологии"
  • Темы с именами: "Срочно", "помогите", "не знаю как делать" будут УДАЛЯТЬСЯ

Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, IZ@TOP, skyboy, SamDark, MoLeX, awers.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | PHP: Общие вопросы | Следующая тема »


 




[ Время генерации скрипта: 0.0454 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.