=
3.84.186.122

Daschmi's Notizblog

RSS Feed

Erstes und letztes Element eines Arrays ohne die Elemente zu entfernen

Erstellt in PHP am 18. Januar 2013

Möchte man das erste Element eines Arrays ermitteln, so kann man die Funktion array_shift verwenden. Für das letzte Element gibt es die Funktion array_pop.

Beide Funktionen liefern dasElement und entfernen es aus dem Uhrsprungsarray. Man kann den Array vorher kopieren oder man verwendet folgenden Aufruf:

$first = array_values($array)[0]; // Statt array_shift
$last = array_values($array)[sizeof(array) – 1]; // Statt array_pop

Man könnte auch einfach $array[0] bzw. $array[sizeof($array) – 1] verwenden, dies würde aber nicht bei Assoziativen Arrays funktionieren.

array_merge ohne neuindexierung

Erstellt in PHP am 1. November 2012

array_merge arbeitet standardmäßig so, das numerische Schlüssel in dem zusammengefügten Array neu vergeben werden. Folgende Funktion verhindert dies auf simple Weise:


/**
* Array Merge und Indexe nicht neu nummerieren
* Siehe: http://de2.php.net/manual/de/function.array-merge.php#106803
*/
function dsr_array_merge($a, $b)
{

$result = array_diff_key($a, $b) + $b;

return $result;

} // function dsr_array_merge($a, $b)

Verzeichnisse mit PHP rekursiv zippen

Erstellt in PHP am 22. September 2012

Um Verzeichnisse rekursiv zu einem Zip Archiv hinzuzufügen kann folgendes Script verwendet werden:

public function zipDir(&$zip, $dir, $base = “)
{
  if (!file_exists($dir));
  $arFiles = scandir($dir);

  foreach ($arFiles as $file)
  {

    if (in_array($file, array(‚.‘, ‚..‘))) continue;

    if (is_file($dir.’/‘.$file))
    {

      $zip->addFile($dir.’/‘.$file, $base.$file);

    }
    else if (is_dir($dir.’/‘.$file))
    {

      $zip->addEmptyDir($base.$file);
      zipDir($zip, $dir.’/‘.$file, $base.$file.’/‘);

    }
  }
}

Der Aufruf kann dann wie folgt aussehen:

$tmpzip = tempnam("/tmp", "wpShopGermany");

$zip = new ZipArchive;
$res = $zip->open($tmpzip, ZipArchive::CREATE);

// Verzeichnisse
zipDir($zip, ‚/var/home/htdocs/wpShopGermany/wp-content/uploads/wpsg_produktbilder‘, ‚wpsg_produktbilder/‘);

$zip->close();

header("Cache-Control: private");
header(‚Content-Type: application/download; charset=utf-8‘);
header(‚Content-Disposition: filename=wpsg_upgrade.zip‘);
header("Pragma: public");

session_cache_limiter(’nocache‘);

die(file_get_contents($tmpzip));

Das Zip Archiv würde dabei direkt als Download an den Browser übergeben werden.



Bitte genehmigen Sie die Verwendung von Cookies dieser Website! Mehr Informationen

Die Cookie-Einstellungen auf dieser Website sind auf "Cookies zulassen" eingestellt, um das beste Surferlebnis zu ermöglichen. Wenn du diese Website ohne Änderung der Cookie-Einstellungen verwendest oder auf "Akzeptieren" klickst, erklärst du sich damit einverstanden.

Schließen