Annalsi üksikasjade arhiiv php. ZIP-arhiivi loomine PHP-s. Uute vidinapiirkondade lisamine

Minu käest küsiti eile foorumis ZIP-arhiivide loomine PHP-s. Mõtlesin veidi ja mõistsin, et see teema huvitaks suurt hulka inimesi, sest ZIP-arhiveerimine PHP-s väga populaarne teema. Ja selles artiklis näitan näidet, kuidas luua PHP-skripti abil ZIP-arhiivi.

Toon kohe näite ZIP-arhiivi loomine, ja siis kommenteerin seda hoolikalt:

$zip = uus ZipArhiiv(); //Looge ZIP-arhiividega töötamiseks objekt
$zip->open("archive.zip", ZIPARCHIVE::CREATE); //Ava (loo) arhiiv arhiiv.zip
$zip->addFile("indeks.php"); //Lisage arhiivi fail index.php
$zip->addFile("styles/style.css"); //Lisage arhiivi fail styles/style.css
$zip->close(); //Lõpetage arhiiviga töötamine
?>

Selle skripti täitmise tulemusena näete ZIP-arhiiv, mille juurtes on fail index.php ja luuakse ka kataloog stiilid, mis sisaldab faili stiil.css. Ma arvan, et see kõik on ilmne ja loogiline. Ja nüüd kommenteerin seda, mida me teiega tegime:

  • Loonud objekti ZipArhiiv konstruktorit kasutades.
  • Loonud meetodil arhiivi avatud () objektiks ZipArhiiv. Oleme edastanud arhiivi nime ( arhiiv.zip) ja konstant ZIPARHIVE::LOO, mis teatab, et kui arhiivi pole, siis tuleb see luua.
  • meetod addFile() lisab failid arhiivi. Esmalt lisasime faili " index.php", mis asub skriptiga samas kataloogis. Järgmiseks lisasime faili stiil.css, mis näitab ka skripti suhtes õiget teed.
  • meetod Sulge() lõpetab töö arhiiviga. Käivitage see alati arvutiressursside vabastamiseks ja ka mitmesuguste selle skripti ja muude skriptide tööga seotud probleemide vältimiseks, mis vajavad juurdepääsu sellele arhiivile.

Sel lihtsal viisil saate luua automaatselt ZIP-arhiive PHP abil. Järgmises artiklis arutame teiega, kuidas zip-arhiivi php kaudu ekstraktida.

On selge, et mallide loojatel on lihtsam kasutada standardfunktsioone ja WordPressi mallimärgendeid kõigi saidi lehtede standardvaadete kuvamiseks, kuid see loob ühtse välimuse ja tunde saidi samadele lehtedele üleminekust.

Ma näitan teile kohe, mis me selle tulemusel saame.

WordPressi arhiivide tüüp: kategooriate arhiiv enne muudatusi
Eemaldatud pisipiltidega jaotiste arhiiv ja link lisateabe saamiseks.

Tähtis! Kuna see ülesanne lahendatakse malli koodi muutmisega, teeme enne tööd (andmebaas + saidi failid). Lisaks teeme töömallist kaks koopiat, ühe toimetamiseks, teise vigase toimetamise taastamiseks.

WordPressi arhiivide välimuse muutmine

WordPressi arhiivide välimuse muutmiseks peate leidma või õigemini määrama, milline fail teie töömallis arhiive kuvab. Enamikus mallides väljastatakse kõik arhiivid ühes failis, seda nimetatakse (archive.php).

Kordan, et olla kaitstud saidi kaotamise eest, ei kasuta me saidi halduspaneelil redaktorit, vaid pigem redigeerime mallifailide varem tehtud varukoopiaid.

Avage tekstiredaktoris (nt Notepad++) fail archive.php ja alustage redigeerimist. Failis archive.php (faili lõpus) ​​otsime funktsiooni, mis kuvab arhiivi ajaveebi:

Nimi on faili nimi, mida kasutatakse arhiivi ajaveebi väljastamiseks.

Esimene idee ülesande täitmiseks on lihtne: peame muutma arhiive väljastava faili koodi (content.php), nimelt eemaldama sellest mitu funktsiooni ja muutma seeläbi kõigi saidi arhiivide välimust (kategooriad, autorid, kuupäevad jne).

Kuid tekib küsimus, et kui muudame mallifaili koodi, naaseb see pärast malli esimest värskendamist oma endisele olekule, meil pole seda vaja. Seetõttu me ei muuda faili content.php, vaid kopeerime selle ja loome oma faili teise nimega, näiteks content-cat.php ja redigeerime seda.

Otsime failist funktsiooni, mis kuvab pisipilte. Pisipiltide funktsioon on ülaosas. Eemaldame pisipildi väljundi.

võija eemaldage rida "Loe edasi", "malli nimi".

Salvestame loodud ja redigeeritud faili content-cat.php ja laadime selle töömalli kausta saidi kataloogi. See fail kuvatakse saidi halduspaneelil vahekaardil Välimus→Redaktor.

Liigume edasi teise sammu juurde. Muutke arhiive kuvavas failis (archive.php) failinime sisuks sisu-cat .

Salvestame ja vaatame tulemust. Kui midagi on valesti, kuvab süsteem veateate, veafaili ja vearea. Vea parandamiseks tagastage salvestatud varumallide failid oma kohale ja korrake kõike uuesti.

Nõuanne. Kui soovite mallimärgendite ja WordPressi standardfunktsioonide kohta lisateavet lugeda, pöörake tähelepanu sellele saidile: https://wp-kama.ru. See ei ole reklaam ega isegi link, see sait on malli ja funktsioonimärgendite jaotises selgem kui ametlik WordPressi sait.

Teema arendamisel

Minu arvates vajab WordPressi saitide kuulutuste teema jätkamist. Järgmistes postitustes räägin teemadel: ja.

WordPressi koodeks

Peidetud tekst

funktsioon_post_thumbnail

Funktsioon

the_post_thumbnail

Eesmärk

Funktsioon_post_thumbnail väljastab postituse pisipildi html-koodi, mis on tühi väärtus, kui pilti pole.

Rakendus

Seda mallimärgendit, funktsiooni_post_thumbnail, tuleb kasutada sisemiselt

Kasutamine

the_post_thumbnail(string|massiivi $size = "post-thumbnail", string|massiivi $attr = "")

Allikas

Fail: wp-includes/post-thumbnail-template.php

Funktsioon the_post_thumbnail($size = "post-thumbnail", $attr = "") ( echo get_the_post_thumbnail(null, $size, $attr); )

Valikud

$size (string/massiiv)

Vastuvõetava pisipildi suurus. See võib olla tingimuslike suurustega string: pisipilt, keskmine, suur, täis või kahe elemendi massiiv (pildi laius ja kõrgus): array(60, 60).

Vaikimisi: 'post-thumbnail', st suurus, mille määrab praegusele teemale funktsioon set_post_thumbnail_size()

$attr (string/massiiv)

Atribuutide massiiv, mis tuleb lisada saadud html img-sildile (alt on alternatiivne nimi).

Vaikimisi:

Näide

" title= "_("permalink"), the_title_attribute("echo=0")); ?>"> !}get("layout", "imgwidth"), $SMTheme->get("layout", "imgheight")), array("class" => $SMTheme->get("layout","imgpos") . " esiletoodud_pilt")); if (!is_single())( ?>

Interneti-arhiiv pakub üle 15,000,000 tasuta allalaaditavad raamatud ja tekstid. Samuti on kogumik, mida saavad laenata kõik, kellel on saidi tasuta konto.

Teise võimalusena saab meie kaasaskantavat lauaskannerit osta ja kasutada kohapeal raamatukogudes ja arhiivides. Meie TT Scribe'i kohta lisateabe saamiseks külastage veebisaiti.

Alates 2005. aastast on Interneti-arhiiv teinud koostööd ja loonud digitaalseid kogusid üle 1100 raamatukoguasutust ja teised sisupakkujad. Partnerlussuhete hulka kuuluvad: , ja . Need kogud on digiteeritud erinevatest meediatüüpidest, sealhulgas: , ja laiast valikust . Märkimisväärse panuse on andnud partnerid Põhja-Ameerikas (ja raamatukogud) ja , esindades enam kui 184 keelt.


Interneti-arhiiv julgustab meie ülemaailmset kogukonda panustama füüsiliste üksustega, samuti laadima digitaalseid materjale otse Interneti-arhiivi. Kui teil on digitaalseid üksusi, mida soovite Interneti-arhiivi lisada, lisage üleslaadija liidese abil uus üksus. Klõpsake siin, et rakendada konkreetse Creative Commonsi litsentsi Creative Commonsi litsentsi, et teavitada, kuidas materjali saab kasutada.

Füüsiliste raamatute või esemete annetamiseks võtke ühendust info@sait


Tasuta lugeda, alla laadida, printida ja nautida. Mõnel on hulgi taaskasutamise ja ärilise kasutamise piirangud. Vaadake raamatu kogu või sponsorit. Pakkudes neile tekstidele peaaegu piiramatut juurdepääsu, loodame julgustada tekstide laialdast kasutamist uutes kontekstides inimeste poolt, kes ei pruugi neid varem kasutanud.

Kui küsiksin teilt, millist standardset WordPressi lehetüüpi te kõige sagedamini kasutate, oleks teie vastus tõenäoliselt arhiivimall. Või veel tõenäolisem, et te pole arhiivimallist isegi kuulnud – see on nii ebapopulaarne. Põhjus on lihtne. Tavaline arhiivide kasutamise viis pole kaugeltki kasutajasõbralik.

Teeme selle täna korda! Loome WordPressi arhiivilehe, mis on tõeliselt kasulik. Parim on see, et saate neid arhiive kasutada mis tahes teie saidile installitud kaasaegses WordPressi teemas. Kuid kõigepealt mõistame, mida me mõtleme "arhiivilehe" all?

WordPressi arhiivi ajalugu

WordPressis töötate paljude erinevate mallide ja struktuurielementidega, mis karbist välja tulevad. Kui vaatame vaiketeema Twenty Fifteen kataloogide loendit, näeme järgmist.

  • 404 vealeht
  • Arhiivi leht (meie tänane külaline)
  • Pildi manuse leht
  • Registrileht (pealeht)
  • Lehe mall (standardsete lehtede jaoks)
  • Otsingutulemuste leht
  • Üksikud postituse ja manuste lehed

Vaatamata erinevatele eesmärkidele on need lehed kõik oma ülesehituselt väga sarnased, erinevad sageli vaid mõne valdkonna või mõne koodirea poolest. Ainus nähtav erinevus registrilehe ja arhiivilehe vahel on ülaosas olev lisapäis, mis muutub olenevalt vaadatavast lehest.

Arhiivistruktuuri idee on pakkuda ajaveebi administraatorile mugavat ja lihtsat võimalust arhiivide kuvamiseks erinevate kriteeriumide alusel. Lõppude lõpuks on kõik need erinevad arhiivilehed vaid registrilehe versioonid; need kuvavad sisu, mis on avaldatud teatud ajaperioodil, teatud autori poolt, teatud siltide ja kategooriatega.

See kõlab programmeerija vaatenurgast hästi, kuid kasutaja seisukohast pole see kõige mugavam. Sel juhul jääb puudu üks oluline tase – tasand, mis jääb kasutaja sisu leidmise kavatsuse ja arhiivi üksikute elementide vahele.

Seda ma mõtlengi. Praegu on ainus sisseehitatud viis WordPressi saidil arhiveeritud linkide kuvamiseks vidina kaudu. Seega, kui soovite lubada kasutajatel arhiividesse süveneda ja teha seda inimestele arusaadaval viisil, peaksite pühendama terve külgriba ainult arhiividele (lihtsalt selleks, et paljastada erinevat tüüpi struktureerimine: arhiivid kuupäev, arhiivid kategooriate kaupa, arhiivisildid, autoriõiguste arhiivid jne).

Vajame mingit vahendajat, mingit lehte, mis tervitab külastajat, selgitab talle, et ta on arhiivis, ja osutab sisule, mis teda huvitab, või soovitab populaarset sisu.

Sel põhjusel otsustasime luua kohandatud arhiivilehe.

Kuidas luua WordPressis kohandatud arhiivilehte

Siin on see, mida me tegema hakkame. Meie kohandatud arhiivileht põhineb kohandatud lehemallil. See mall võimaldab meil teha järgmist.

  • Lisa kohandatud sõnum (võib sisaldada teksti, pilte, registreerimisvormi jne – standardne WordPressi sisu).
  • Kuva 15 viimast kirjet (konfigureeritav)
  • Näita linke autorite arhiividele
  • Kuva lingid arhiividesse kuude kaupa
  • Omage täiendavaid vidinaalasid (näiteks populaarse sisu, kategooriate, siltide kuvamiseks).

Lõpuks on leht tundlik ja seda saab kasutada igal veebisaidil.

Siiski peame alustama teemast. Kasutasin Zerif Lite'i teemat. Tunnistan, et see on üks meie enda teemadest. See on aga üks kümnest populaarseimast teemast, mis eelmisel aastal WordPressi teemakataloogis avaldati. Nii et ma loodan, et kasutate seda.

Ja jah, kui teile see teema ei meeldi, pole vaja vaielda. Selles artiklis esitatud lähenemisviisi saate kasutada mis tahes muu teema puhul.

Alustame põhifailiga

Parim mudel arhiivilehe loomiseks on mõnel põhjusel teie praeguse teema fail page.php:

  • Selle struktuur on juba optimeeritud suvalise sisu kuvamiseks põhisisuplokis
  • See on võib-olla üks lihtsamaid lehemalle teie teemastruktuuris.

Seetõttu kasutame Zerif Lite'i teema faili page.php. Loon sellest koopia ja nimetan selle nimeks tmpl_archives.php.

(Veenduge, et te ei pane lehele nime page-archives.php. Kõiki "page-" algavaid failinimesid käsitletakse WordPressi põhiteema failihierarhias uute lehemallidena. See on põhjus, miks kasutasime eesliidet tmpl_) .

Muudame selle järgmiseks:

See rida läheb ainult meie arhiivilehe vastavasse sisufaili.

Saate eemaldada arhiivi lehelt muid elemente, mis tunduvad üleliigsed (nt kommentaarid), kuid eemaldage kindlasti kõik HTML-struktuuriga seotud elemendid. Ja üldiselt ärge kartke katsetada. Lõppude lõpuks, kui midagi äkki lakkab töötamast, saate alati minna tagasi eelmise koodi juurde ja seda hõlpsalt siluda.

Lisaks ärge unustage standardkommentaari - malli kirjeldust -, mis peaks asuma teie faili alguses (meie puhul failis tmpl_archives.php):

Lõpuks jääb meile järgmine struktuur (mugavuse huvides eemaldatakse mõned elemendid):

Selles failis peame eemaldama kõik mittevajalikud asjad, jättes alles ainult struktuurielemendid, aga ka WordPressi põhifunktsioonide väljakutsed:

>

Kohatäite kommentaar koodi keskel on koht, kuhu me seejärel oma kohandatud elemendid sisestame.

Lisage kohandatud tervitus

WordPress ise on selle eest juba hoolitsenud. Peame lihtsalt sisestama järgmise rea:

Uute vidinapiirkondade lisamine

Seadistame WordPressis standardse protsessi abil uued vidinaalad. Teeme seda lisafunktsioonide failiga, et hoida asju korduvkasutatavana teemade lõikes. Loome uue faili archives-page-functions.php, asetades selle põhiteema kataloogi ja registreerime ka kaks uut vidinaala:

If(!function_exists("archives_page_widgets_init")) : function archives_page_widgets_init() ( /* Esimene arhiivi lehe vidin, kuvatakse VASAKUL. */ register_sidebar(array("name" => __("Arhiivi lehe vidin LEFT", "zerif" -lite"), "description" => __("Seda vidinat näidatakse teie arhiivi lehe vasakus servas.", "zerif-lite"), "id" => "archives-left", "before_widget" => "

", "after_widget" => "
", "before_title" => "

", "after_title" => "

",)); /* Teine arhiivi lehe vidin, kuvatakse PAREMALE. */ register_sidebar(array("nimi" => __("Arhiivi lehe vidin PAREMALE", "zerif-lite"), "description" => __ ("Seda vidinat näidatakse teie arhiivi lehe paremal küljel.", "zerif-lite"), "id" => "archives-right", "before_widget" => "
", "after_widget" => "
", "before_title" => "

", "after_title" => "

",)); ) endif; add_action("widgets_init", "archives_page_widgets_init");

If(!function_exists("archives_page_styles")) : funktsioon archives_page_styles() ( if(is_page_template("tmpl_archives.php")) ( wp_enqueue_style("archives-page-style", get_template_directory_uri() . "/styles. css"); // standardne viis laadilehtede lisamiseks WP-s. ) ) endif; add_action("wp_enqueue_scripts", "archives_page_styles");

See on tingimusliku järjekorda seadmise toiming. See töötab ainult siis, kui külastaja vaatab arhiveeritud lehte.

Peame meeles pidama, et lisada meie uus fail archives-page-functions.php, lisades järgmise rea praeguse teema faili functions.php lõppu:

Nõua get_template_directory() . "/archives-page-functions.php";

Lõpuks, uus plokk, mida kasutame oma põhifailis content-tmpl_archives.php, on üsna lihtne. Asetage kõne_content() alla järgmine kood:

Meil jääb üle vaid hoolitseda ainsa puuduva faili archives-page-style.css eest. Jätame selle siiski hilisemaks, kuna kasutame seda kõigi oma kohandatud arhiivilehe stiilide, sealhulgas vidinate hoidlana.

Kuvatakse 15 viimast kirjet

Selleks peame PHP käsitsi kodeerima. Kuigi postituste kuvamist saab rakendada mitmesuguste vidinate abil, vältigem monotoonsust ja sukeldugem kodeerimisse, et demonstreerida rohkem erinevaid võimalusi.

Tõenäoliselt küsite, miks 15 sissekannet? Ma ei tea, ma lihtsalt tõmbasin selle numbri tühjast välja. Teeme selle kohandatud väljadega kohandatavaks.

Teeme järgmist.

  • Postituste arvu määrasime kohandatud väljaga arhiveeritud-postitused-puudub.
  • Kui number ei kehti, kasutab mall viimase 15 kirje vaikeväärtust.

Allpool on kood, mis seda teeb. Asetage see eelmise jaotise alla faili content-tmpl_archives.php, mis käsitleb uusi vidinaalasid.

ID, "arhiveeritud-postitused-ei", tõsi)); /* Siin tagame, et toodud arv on mõistlik. Kui see on suurem kui 200 või väiksem kui 2, siis lähtestame selle vaikeväärtusele 15. */ if($how_many_last_posts > 200 ||. $kui_palju_viimast_postitust< 2) $how_many_last_posts = 15; $my_query = new WP_Query("post_type=post&nopaging=1"); if($my_query->have_posts()) ( echo "

"; kaja"
    "; $loendur = 1; while($minu_päring->have_posts() && $loendur<= $how_many_last_posts) { $my_query->the_post(); ?>
  1. ">
"; wp_reset_postdata(); ) ?>

See kood saab ainult kohandatud välja väärtuse, määrab kuvatavate kirjete arvu ja valib seejärel need kirjed andmebaasist, kasutades WP_Query();. Kasutan ka mõningaid Font Awesome'i ikoone, et sellele plokile veidi elegantsi lisada.

Autorite arhiivide linkide kuvamine

See jaotis on kasulik ainult siis, kui teil on mitme autoriga ajaveebi. Jätke see vahele, kui teil on üks autor.

Seda funktsiooni saab rakendada lihtsa koodiploki abil, mis tuleb paigutada meie faili content-tmpl_archives.php (eelmise ploki alla):

Meie autorid

Mõne minuti pärast jõuame stiilide juurde. Praegu pange tähele, et kõik tehakse funktsiooni wp_list_authors() kutsumisega.

Arhiivide linkide kuvamine kuude kaupa

Lisasin selle elemendi päris lõppu, sest see pole lugeja seisukohast kõige kasulikum komponent. Siiski on oluline, et see oleks arhiivi lehel, et te ei peaks kasutama vidinaid igakuiste arhiivide kuvamiseks mujal saidil.

Selline näeb see välja failis content-tmpl_archives.php:

Kuu järgi

Sel juhul kuvame selle eraldi lõiguna, mille kirjed on eraldatud kaldkriipsudega (|).

Täielik arhiivilehe mall

Vaatame täielikku faili content-tmpl_archives.php, mis on meie põhifail kohandatud arhiivi väljastamiseks:

>

ID, "arhiveeritud-postitused-ei", tõsi)); if($mitu_viimast_postitust > 200 || $kui_palju_viimast_postitust< 2) $how_many_last_posts = 15; $my_query = new WP_Query("post_type=post&nopaging=1"); if($my_query->have_posts()) ( echo "

Viimased ".$how_many_last_posts." Postitused

"; kaja"
    "; $loendur = 1; while($minu_päring->have_posts() && $loendur<= $how_many_last_posts) { $my_query->the_post(); ?>
  1. " rel="järjehoidja" title="Püsilink!}">
"; wp_reset_postdata(); ) ?>

Meie autorid

Kuu järgi

Stiilileht

Lõpuks vaatame stiililehte. Fail archives-page-style.css näeb välja selline:

Arhiivid-vidin-vasak ( float: vasak; laius: 50%; ) .archives-widget-right ( float: vasak; polsterdus-vasak: 4%; laius: 46%; ) .archives-latest-section ( ) .archives -latest-section ol ( font-style: kursiiv; fondi suurus: 20px; padding: 10px 0; ) .archives-latest-section ol li ( padding-left: 8px; ) .archives-authors-section ( ) .archives -autorite sektsioon ul ( loendi stiil: puudub; teksti joondamine: keskel; ääris ülaosas: 1px punktiir #888; ääris-alumine: 1px punktiir #888; täidis: 10px 0; fondi suurus: 20px; veeris: 0 0 20px 0; .archives-authors-section ul li ( display: inline; padding: 0 10px; ).archives-authors-section ul li a ( text-decoration:none; ) .archives-by-month-section ( ext -joondamine: sõnavahe: 5px; .archives-by-month-section p (ääris-ülemine: 1px punktiir #888; täidis: 15px 0; ) .archives- by- kuu-jaotis p a ( text-decoration:none; ) @meedia ainult ekraan ja (max-width: 600px) ( .archives-widget-left ( laius: 100%; ) .archives-widget-right ( laius: 100 %; ) )

Stiilid puudutavad enamasti fonte ja mõnda struktuurielementi, välja arvatud paar joondust, samuti tundliku disainiplokki lõpus.

Vaatame, kuidas see praktikas välja näeb. Siin on sait, millel on palju arhiveeritud sisu:

Kuidas seda malli mis tahes teemasse integreerida

Siin loodud kohandatud arhiivileht on mõeldud Zerif Lite'i teema jaoks, mis on saadaval WordPressi ametlikus kataloogis. Kuid nagu ma ütlesin, saab seda kasutada koos mis tahes teemaga. Seda saab teha järgmiselt.

  1. Võtame õpetuses loodud failid archives-page-style.css ja archives-page-functions.php ning paigutame need siis põhiteemakataloogi.
  2. Redigeerige teema funktsioonis.php ja lisage päris lõppu järgmine rida: request get_template_directory() . ‘/archives-page-functions.php’;
  3. Võtke teema fail page.php, tehke sellest koopia, nimetage see ümber, muutke funktsiooni get_template_part() väljakutseks get_template_part('content', 'tmpl_archives'); ja lisage kohe alguses kirjeldav kommentaar: /* Mall Nimi: Arhiivileht Kohandatud */.
  4. Võtke oma teema fail content-page.php, tehke sellest koopia, nimetage see ümber content-tmpl_archives.php ja lisage sellele kõik kohandatud plokid, mille me õpetuses lõime, otse funktsiooni the_content();
  5. Testime ja naudime.

Nii näeks see välja vaiketeemas Twenty Fifteen: