[PHP] Aiuto creazione form php per completamento modello word

sagoch

Nuovo Utente
14 Apr 2018
2
0
1
29
Buonasera a tutti, dovrei creare un form php che mi inserisca dei dati all'interno di un file word (modello già esistente da compilare) e che salvi diversi modelli già compilati in ordine numerico e che contenga nel nome del file word un parametro del form php. Vi faccio un esempio se sto riempiendo il form php del cliente "pinko" vorrei che il form mi generi un file word di nome 001-pinko, il cliente successivo "pallo" il file si dovrà chiamare 002-pallo . Chi mi puo aiutare??Il tutto verrà hostato su aruba quindi se necessita un db non ho problemi.
 

macus_adi

Utente Attivo
5 Dic 2017
1.333
91
48
IT/SW
Per quanto riguarda il download del file basta aggiungere nell'header
PHP:
header("Content-type: application/vnd.ms-word");

Per quello che richiedi sarebbe opportuno definire meglio le directory, il numero progressivo etc...
Piccola Classe che gestisce il tutto senza DB, non performante in quanto potresti salvare il numero progressivo in un file separato o in un DB, ma funziona, è facile da capire ed è estensibile:
PHP:
<?php
/**
 * Created by PhPS.
 * User: Marco Arena Di R.
 * Date: 16/04/2018
 * Time: 12:02
 */


/**
 * Class Gen_number
 */
class Gen_number {

    /**
     * @var string
     */
    private $path='generate';

    /**
     * @var array
     */
    private $lists_file=[];

    /**
     * @var int
     */
    private $n_zero=3;

    /**
     * @var int
     */
    private $current_item=0;

    /**
     * @var string
     */
    public $file_name='';

    /**
     * @var string
     */
    public $ext='.doc';


    /**
     * Gen_number constructor.
     *
     * @param string $file_name
     * @param array $options
     */
    public function __construct($file_name='_file',$options=[]) {
        $this->file_name=$file_name;
        if(!empty($options)){
            foreach ($options as $k=>$option)if(property_exists($this,$k))$this->$k=$option;
        }
        $this->init();
    }

    /**
     * Inizializza la definizione del nome del file
     */
    public function init(){
        $file=scandir($this->path);
        foreach ($file as $items){
            if($items!='' && $items!='..')$this->lists_file[]=$items;
        }
        $this->create_name_file();
    }

    private function create_name_file(){
        $this->current_item=count($this->lists_file);
        if($this->current_item==0 || empty($this->current_item))$this->current_item=1;
        $this->generate_zeros();
    }
    private function generate_zeros(){
        $temp_file_name='';
        $zeros=$this->n_zero-(strlen($this->current_item));
        if($zeros<0)$zeros=1;
        for($i=0;$i<$zeros;$i++)$temp_file_name.='0';
        $this->file_name=$temp_file_name.$this->current_item.$this->file_name.$this->ext;
    }

    /**
     * Salva il file
     * @param string $string_output Stringa contenente il contenuto da salvare
     */
    public function create_docs($string_output){
        file_put_contents($this->path.'/'.$this->file_name,$string_output);
    }

    /**
     * Torna la stringa salvata nel file nel percorso di this-path
     * @return bool|string
     */
    public function create_download_file(){
        return file_get_contents($this->path.'/'.$this->file_name);
    }
}

Mentre il file che richiama i metodi della classe è questa:
PHP:
/**
 * Created by PhPS.
 * User: Marco Arena Di R.
 * Date: 16/04/2018
 * Time: 12:01
 */


include_once('Gen_number.php');

$gen_file=new Gen_number('_nome_uno');
$gen_file->create_docs('marcolino lino lero');
header("Content-type: application/vnd.ms-word");

header("Content-Disposition: attachment;Filename=".$gen_file->file_name);

header("Pragma: no-cache");

header("Expires: 0");


echo $gen_file->create_download_file();

Manca di documentazione, ma è talmente semplice che non necessita di spiegazioni!
 
Discussioni simili
Autore Titolo Forum Risposte Data
P [PHP] aiuto creazione login PHP 16
R Aiuto creazione php PHP 0
A Aiuto per pagina php PHP 0
I Aiuto php Dependent Lookup PHP 0
L Aiuto per programma web php/mySQL PHP 2
A Aiuto php colore diverso PHP 10
C Aiuto compiuto scuola PHP/MySQL PHP 2
Michelebozzo [PHP] Rimuovere pubblicazione nome pagina ... aiuto! PHP 7
Z Gestionale in Php/mysql: Quanto farsi pagare? Aiuto! Discussioni Varie 0
P [PHP] Browser game, aiuto a tempo libero. Offerte e Richieste di Lavoro e/o Collaborazione 0
C [PHP] Chiedo un aiuto, Array multidimensionale. PHP 3
T [PHP] aiuto....Fatal error: Uncaught Error:non riesco a capire PHP 1
N [PHP] Aiuto PHP 1
M [PHP] Aiuto su inner join PHP 10
W [PHP] Un aiuto per il mio primo "Multithread" PHP 0
J [PHP] richiesta di aiuto PHP 3
F [PHP] Aiuto SELECT DISTINCT / GROUP BY PHP 17
F [PHP] Aiuto array PHP 2
L [PHP] aiuto per installazione mrbs PHP 0
S [PHP] Aiuto! Non riesco a richiamare una variabile PHP 2
N [PHP] aiuto su variabili e colori PHP 4
C [PHP] Aiuto su visualizza foto da cartella PHP 6
S PHP: Aiuto con upload immagini che si auto tuotano PHP 24
P [PHP] Aiuto per gestione file CSV PHP 24
A aiuto php PHP 3
A php aiuto PHP 2
G Piccolo aiuto per php mail PHP 2
C Aiuto su script php PHP 2
F Aiuto PHP : Parse error PHP 1
G Aiuto! Studente cerca aiuto per un codice PHP PHP 1
S aiuto per script PHP/OOP PHP 2
S Un aiuto su uno script di ricerca avanzata in php che sto verificando. PHP 1
G Aiuto modifica PHP PHP 1
T Aiuto con script PHP PHP 0
S Aiuto con PHP! PHP 4
D Aiuto Ajax da PHP con codifica json Ajax 0
K aiuto su gestione casella select del form + php + mysql PHP 0
S [risolto] Aiuto: ciclo php ( for / while). popolare select dinamicamente da array id. PHP 9
L Aiuto form php! PHP 1
N Aiuto php : Modulo Mail non funzionante - Dove sbaglio ? PHP 5
E [RISOLTO] Aiuto impostazione mail.php PHP 2
D aiuto con pag di login in php PHP 1
S [RISOLTO]aiuto, non riesco afar funzionare il camp odi ricerca per un DB con PHP PHP 5
W [Aiuto PHP Mysql] Script visualizzare a video righe di tabella mysql PHP 2
C aiuto php PHP 19
B AIUTO: come passare una variabile php ad una funzione javascript Javascript 2
Task Mc Aiuto per reindirizzamento in php PHP 7
S Come creare php.ini Aiuto! PHP 0
B Aiuto query mysql in php PHP 1
ivarello Aiuto invio form nascosto in PHP PHP 2

Discussioni simili