PHP/FPDF - for().
Beste,
Ik ben voor een projectje bezig met de creatie van een geautmoatiseerd SIDN formulieren systeem, een simpele versie had ik reeds enkele maanden gecreeerd, maar nu is het de bedoeling dat er meerdere domeinen worden ondersteund en dat de bestanden worden samengevoegd in een .zip.
Het hoofdgedeelte van het script werkt, ware het niet dat er toch enkele (grote) problemen in zitten waar ik zelf gewoon niet uitkom .. mss is me z'n zicht wat vertroebeld geraakt en mogelijk zien jullie wel de oplossing
.
Kort de werking:
Persoon vult in <textarea> per regel een domeinnaam in en druk op submit, vervolgens treedt onderstaande actie in werking:
Tot zover werkt het, in de fuctie 'maak_sidn_verhuisformulier' staat beschreven dat er een PDF file moet worden gemaakt op de server en dat daar een inhoud in moet worden geplaatst, dit werkt ook.
Het probleem onstaat echter bij het zippen:
Na bovenstaande code ga ik verder met (zit dus nog in dezelfde for lus):
De $file_name geeft de bestandsnaam van het gemaakte PDF bestand, dit werkt ook.
De zip wordt ook gecreerd, echter het is de bedoeling dat bij meerdere ingevulde domeinen ALLE aangemaakte pdf's in het zip worden bijgevoegd, wat er nu gebeurt is dat enkel het laatst aangemaakt (laatst ingevuld domein) PDF bestand wordt toegevoegd aan het .zip. Enkel de laatst aangemaakte PDF wordt dus toegevoegd ... in plaats van de bedoelde 'allemaal'.
Nu heb ik reeds geprobeerd om $array[$i] in te vullen op de plaats van $file_name .. dus dan wordt de code als volgt:
Maar wat er nu gebeurd is dat er tussen de domeinnaam en .pdf een spatie onstaat bij de eerst ingevulde domeinen en WEER enkel de laatste juist wordt verwerkt. Dus:
FOUT: 1e ingevulde: test.nl .pdf (spatie)
FOUT; 2e ingevulde: test2.nl .pdf (spatie)
GOED; 3e ingevulde: test3.nl.pdf (spatie)
Het ter test aanpassen van de bestandsnaam in de upload map (naar de MET spatie variant) levert enkel de melding op dat het bestand niet kan worden gevonden ...
Nu moet ik eerlijk bekennen dat ik niet zoveel verstand heb van FOR lussen dus ik vermoed dat het daar misgaat .. ?
Een 2de probleem is dat als er meerder domeinen worden ingevuld in de <textarea> de 2de ingevulde regel ALTIJD wegvalt? Als de 2de regel wordt leeggelaten en men vervolgens wel de 3,4,5,etc regel invult is aldaar niks aan de hand?!
Indien er meer inzicht in de code vereist is hoor ik dat graag.
Beste,
Ik ben voor een projectje bezig met de creatie van een geautmoatiseerd SIDN formulieren systeem, een simpele versie had ik reeds enkele maanden gecreeerd, maar nu is het de bedoeling dat er meerdere domeinen worden ondersteund en dat de bestanden worden samengevoegd in een .zip.
Het hoofdgedeelte van het script werkt, ware het niet dat er toch enkele (grote) problemen in zitten waar ik zelf gewoon niet uitkom .. mss is me z'n zicht wat vertroebeld geraakt en mogelijk zien jullie wel de oplossing

Kort de werking:
Persoon vult in <textarea> per regel een domeinnaam in en druk op submit, vervolgens treedt onderstaande actie in werking:
PHP:
if (isset($_POST['submit']))
{
$inhoud = $_POST['domeinen'];
$stringh = $inhoud;
$array = explode("\n", $stringh);
for ($i = 0, $size = count($array); $i < $size; $i++) {
$domein = $array[$i];
echo $array[$i] . "<br />";
echo maak_sidn_verhuisformulier("", $domein);
Tot zover werkt het, in de fuctie 'maak_sidn_verhuisformulier' staat beschreven dat er een PDF file moet worden gemaakt op de server en dat daar een inhoud in moet worden geplaatst, dit werkt ook.
Het probleem onstaat echter bij het zippen:
Na bovenstaande code ga ik verder met (zit dus nog in dezelfde for lus):
PHP:
$zip = new PclZip("/home/domein/public_html/formulieren/upload/"123456.zip");
if($zip->create("/home/domein/public_HTML/formulieren/upload/" . $file_name) == 0)
die("Error : " . $zip->errorInfo(true));
De $file_name geeft de bestandsnaam van het gemaakte PDF bestand, dit werkt ook.
De zip wordt ook gecreerd, echter het is de bedoeling dat bij meerdere ingevulde domeinen ALLE aangemaakte pdf's in het zip worden bijgevoegd, wat er nu gebeurt is dat enkel het laatst aangemaakt (laatst ingevuld domein) PDF bestand wordt toegevoegd aan het .zip. Enkel de laatst aangemaakte PDF wordt dus toegevoegd ... in plaats van de bedoelde 'allemaal'.
Nu heb ik reeds geprobeerd om $array[$i] in te vullen op de plaats van $file_name .. dus dan wordt de code als volgt:
PHP:
$zip = new PclZip("/home/domein/public_html/formulieren/upload/"123456.zip");
if($zip->create("/home/domein/public_HTML/formulieren/upload/" . $array[$i] . ".pdf") == 0)
die("Error : " . $zip->errorInfo(true));
Maar wat er nu gebeurd is dat er tussen de domeinnaam en .pdf een spatie onstaat bij de eerst ingevulde domeinen en WEER enkel de laatste juist wordt verwerkt. Dus:
FOUT: 1e ingevulde: test.nl .pdf (spatie)
FOUT; 2e ingevulde: test2.nl .pdf (spatie)
GOED; 3e ingevulde: test3.nl.pdf (spatie)
Het ter test aanpassen van de bestandsnaam in de upload map (naar de MET spatie variant) levert enkel de melding op dat het bestand niet kan worden gevonden ...
Nu moet ik eerlijk bekennen dat ik niet zoveel verstand heb van FOR lussen dus ik vermoed dat het daar misgaat .. ?
Een 2de probleem is dat als er meerder domeinen worden ingevuld in de <textarea> de 2de ingevulde regel ALTIJD wegvalt? Als de 2de regel wordt leeggelaten en men vervolgens wel de 3,4,5,etc regel invult is aldaar niks aan de hand?!
Indien er meer inzicht in de code vereist is hoor ik dat graag.
Laatst bewerkt: