Heb nog een klein probleempje

Om de gegevens uit mijn microcontroller te halen gebruik ik een script om de bestanden in te pakken en het dan gelijk kan downloaden dat werkt prima
Nu wil ik graag het zip bestand voorzien van datum en naam, met datum lukt mij maar omdat ik de naam voor het bestand uit een text file moet halen lukt het mij op een of andere manier niet
Met dit krijg ik op mijn site netjes de naam te zien.

<?php $regels = file('info.txt');
echo substr($regels[1], 0, 20)."<br/>";
?>


Als ik het volgende doe.. krijg ik geen zip file met de naam

<?php
$regels = file('info.txt');
$name= ($regels[1], 0, 20);
?>

Zie niet wat er verkeerd is omdat de naam er wel staat.

Dit script gebruik ik voor zippen en download.

<?php
$dtime = date("d-m-Y");
$regels = file('info.txt');
$name= ($regels[1], 0, 20);// hier staat de naam "pomp1"
# define file array
$files = array('logbuch.txt');

# create new zip opbject
$zip = new ZipArchive();

# create a temp file & open it
$tmp_file = tempnam('.','');
$zip->open($tmp_file, ZipArchive::CREATE);

# loop through each file
foreach($files as $file){

    # download file
    $download_file = file_get_contents($file);

    #add it to the zip
    $zip->addFromString(basename($file),$download_file);

}

# close zip
$zip->close();

# send the file to the browser as a download
header('Content-disposition: attachment; filename='.$dtime.zip);
header('Content-type: application/zip');
readfile($tmp_file);
?> 
Je doet toch ook 2x iets totaal verschillends?

In het eerste codeblokje 'echo' je iets. In het 2e codeblokje vergeet je 'substr' en 'echo'.
Je mist je substr()-functie.
Verrek helemaal niet gezien.

Hen dit aan gepast en gekeken of ik nu de zip file met de naam krijg, helaas niet.


<?php
$dtime = date("d-m-Y");
$regels = file('info.txt');
$name= substr($regels[1], 0, 20);// hier staat de naam "pomp1"
# define file array
$files = array('logbuch.txt');

# create new zip opbject
$zip = new ZipArchive();

# create a temp file & open it
$tmp_file = tempnam('.','');
$zip->open($tmp_file, ZipArchive::CREATE);

# loop through each file
foreach($files as $file){

    # download file
    $download_file = file_get_contents($file);

    #add it to the zip
    $zip->addFromString(basename($file),$download_file);

}

# close zip
$zip->close();

# send the file to the browser as a download
header('Content-disposition: attachment; filename='.$name.zip);
header('Content-type: application/zip');
readfile($tmp_file);
?> 

zip hoort op lijn 30 tussen quotes.
Met de $dtime gaat het inderdaad beter maar met $name krijg ik nog steeds de zip naam van de pagina "logzip.php" zoals op de screenshot in de eerdere post.
Hoe zien je header()'s er nu uit? En kan je je screenshot ook openbaar zetten? Of uploaden bij bijv. Tinypic.com?
- Ariën - op 04/02/2016 16:36:01

Hoe zien je header()'s er nu uit?


Deze vraag snap ik even niet

Screenshot is geupload.
De header()' s staan in je code, onderaan.
Ik denk dat ik eerst even wat anders moet verzinnen ik kan namelijk niet met mijn tablet downloaden met dit script.
Had al wel met de scherm grote rekening gehouden maar dus niet met een zip download.

# close zip
$zip->close();
# send the file to the browser as a download
header('Content-disposition: attachment; filename='.$name.".zip");
header('Content-type: application/zip');
readfile($tmp_file);
?> 
Ik snap je niet echt?

Reageren