Odkopuje może stary temat, ale ostatnio dostałem podobny orzech do zgryzienia. Żeby czasu nie marnować podszedłem do tematu z drugiej strony, po tym jak rozejrzałem się za problemem stworzenia pliku rtf.
I znalazłem sposób, trzeba było trochę pogłówkować i poskładać wszystko do kupy. Tworzymy szablon rtf, wysyłamy go na serwer, następnie otwieramy fopen(), edytujemy fwrite(), zapisujemy fclose(), wszystlo po stronie serwera, oczywiscie dane lecą z formularza i cały skrypt umieszczamy w jednym pliku, pierw skrypt z funkcją if, która zadziała jeżeli wciśniemy wyślij. Potem dajemy mail() z mail_attachment() i w miejsce załacznika wstawiamy zmienną z formularza, o której mowa na końcu. Na koniec skryptu robimy znowu fopen() i w miejsce treci, którą wcześniej wypełnilismy plik wstawiamy "" czyli po prostu nic. Taki plik będzie znów do ponownego wykorzystania. Dopiero pod tym skryptem dajemy formularz do wysłania, w którym będzie pole hidden ze ścieżką do pliku na serwerze (czyli np.
http://www.costam.pl/costam.rtf). Wartość tego pola będzie wstawiana w mail_attachment(), czyli w () trzeba wpisać jej id nie zapominając o $_POST czy $_GET.
Czyli jeszcze raz:
- Tworzymy rtf, wrzucamy na serwer
- Tworzymy formularz
- Przed formularzem if i otwieramy plik rtf do edycji
- Wysyłamy go na określony mail
- Czyścimy plik rtf
- Przeładowujemy strone dla bezpieczeństwa
Wpadłem jeszcze na pomysł aby skorzystać z funkcji rand(), żeby zamiast korzystać z jednego pliku program otwierał szablon, wypełniał go danymi i zapisywał z losowym numerem na serwer, a potem po wysłaniu usuwał go z niego. Taka opcja jest bezpieczniejsza jeśli z jednego formularza korzysta naraz kilka osób. Zamiast funkcji rand() można dodać też do nazwy pliku np. któreś z pól formularza (dajmy na to Imie i Nazwisko) a spacje zamienić przez str_replace() na _.
Możliwości jest wiele, trzeba tylko ruszyć głową

Dobra, przyznaje się że jeszcze nie napisałem tego programu, dopiero do niego siadam, pewnie jeszcze jakieś problemy wynikną po drodze, ale koncepcja wydaje mi się dobra. Jak napiszę i zadziała to wrzucę go tu dla potomnych.