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 sain aru, et see teema pakuks huvi suurele hulgale inimestele, sest ZIP-arhiveerimine PHP-s väga populaarne teema. Ja selles artiklis näitan näidet, ZIP-arhiivi loomine PHP-skripti abil.

Lubage mul tuua näide ZIP-arhiivi loomine, ja siis kommenteerin seda hoolikalt:

$zip = uus ZipArhiiv(); //Looge objekt ZIP-arhiividega töötamiseks
$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(); //Töö arhiiviga lõpule
?>

Selle skripti täitmise tulemusena ZIP-arhiiv, mille juurtes on fail index.php ja luuakse 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. Me edastasime arhiivi nime ( arhiiv.zip) ja konstant ZIPARHIVE::LOO, mis ütleb, kui arhiivi ei ole, 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() väljub arhiivist. Käivitage see alati arvutiressursside vabastamiseks ja erinevate probleemide vältimiseks, mis on seotud selle skripti ja muude skriptidega, mis vajavad juurdepääsu sellele arhiivile.

Sel lihtsal viisil saate Looge PHP-ga automaatselt ZIP-arhiive. Järgmises artiklis arutame kuidas zip-arhiivi php kaudu ekstraktida.

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

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

Wordpressi arhiivide vaade: kategooriaarhiiv enne muudatust
Kategooria arhiiv koos eemaldatud pisipiltide ja lingiga 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 vale 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 väljastab. Enamikus mallides kuvatakse kõik arhiivid ühes failis, seda nimetatakse (archive.php).

Kordan veel kord, et saidi kaotamiseks ärge kasutage saidi halduspaneeli redaktorit, vaid redigeerige mallifailide eelnevalt tehtud varukoopiaid.

Avage tekstiredaktoris (näiteks 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 ajaveebi arhiivide 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 nime all, näiteks content-cat.php, ja muudame seda.

Otsime failist funktsiooni, mis kuvab pisipilte. Pisipiltide väljundfunktsioon on ülaosas. Eemalda pisipildi väljund.

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

Loodud ja redigeeritud fail content-cat.php salvestatakse ja laaditakse üles töömallide kausta saidikataloogi. See fail kuvatakse saidi halduspaneelil vahekaardil Välimus→Redaktor.

Liigume edasi teise sammu juurde. Muutke arhiive väljastavas failis (archive.php) sisufaili nimeks content-cat .

Salvestame ja vaatame tulemust. Kui need on valed, kuvab süsteem vea, veafaili ja veastringi. Vea parandamiseks tagastame salvestatud mallide varukoopiafailid oma kohale ja kordame kõike uuesti.

Nõuanne. Kui soovite mallimärgendite ja WordPressi standardfunktsioonide kohta lisateavet lugeda, vaadake seda saiti: https://wp-kama.ru. See ei ole reklaam ega isegi link, see sait on malli siltide ja funktsioonide 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, kui pilti pole, tühi.

Rakendus

Sees tuleb kasutada seda mallimärgendit, funktsiooni_post_thumbnail

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)

Hankitava 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 lisatakse 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 tasuta veebisaidi 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 üles 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 anda teada, kuidas materjali saab kasutada.

Füüsiliste raamatute või esemete annetamiseks võtke ühendust [e-postiga kaitstud] veebisait


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 ma küsin teilt, mis on vaikimisi WordPressi lehetüüp, mida te kõige vähem kasutate, oleks teie vastus tõenäoliselt arhiivimall. Või tõenäolisem, et te pole arhiivimustrist üldse kuulnudki – 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õesti kasulik. Parim osa on see, et saate neid arhiive kasutada mis tahes saidile installitud kaasaegses WordPressi teemas. Kuid kõigepealt mõistame, mida me mõtleme "arhiivilehe" all?

WordPressi arhiivide ajalugu

WordPressis töötate paljude erinevate mallide ja struktuurielementidega, mis on standardse konfiguratsiooniga kaasas. Kui vaatame standardteema Twenty Fifteen kataloogiloendit, näeme järgmist:

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

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

Arhiivistruktuuri idee on pakkuda ajaveebi administraatorile mugavat ja lihtsat võimalust arhiivide kuvamiseks erinevate kriteeriumide järgi. 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.

Programmeerija seisukohast kõlab hästi, kuid see pole just kõige kasutajasõbralikum lähenemine. Sel juhul jääb puudu üks oluline tasand – tasand, mis jääb kasutaja sisu leidmise kavatsuse ja arhiivi üksikute elementide vahele.

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

Meil on vaja mingit vahendajat, mingit lehte, mis tervitaks külastajat, selgitaks talle, et ta on arhiivis ja näitaks ära sisu, mille vastu teda huvitab, või pakuks populaarset sisu.

See on põhjus, miks 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)
  • Kuva lingid autoriarhiividele
  • Kuva lingid arhiividele kuude kaupa
  • Omage täiendavaid vidinaalasid (näiteks esiletõstetud sisu, kategooriate, siltide kuvamiseks).

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

Siiski peame tõesti mõne teema aluseks võtma. Ma 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 ära.

Ja jah, kui teema ei meeldi, pole vaja vanduda. Artiklis esitatud lähenemisviisi saate kasutada mis tahes muu teema puhul.

Alustades põhifailist

Parim mudel arhiivilehe loomiseks on teie praeguse teema fail page.php, seda mitmel põhjusel.

  • Selle struktuur on juba optimeeritud suvalise sisu kuvamiseks põhisisuplokis.
  • See on tõenäoliselt üks lihtsamaid lehemalle teie teemastruktuuris.

Seetõttu kasutame Zerif Lite'i teema faili page.php. Teen sellest koopia ja panen sellele nimeks tmpl_archives.php.

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

Muudame selle järgmiseks:

Kõik see rida edastab meie arhiivilehe jaoks sobiva sisufaili.

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

Ärge unustage ka standardkommentaari - malli kirjeldust -, mis peaks olema teie faili alguses (meie puhul failis tmpl_archives.php):

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

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

>

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

Kohandatud tervituse lisamine

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 täiendava funktsioonifailiga, et hoida asju korduvkasutatavana teemade lõikes. Loome peateemakataloogi uue faili archives-page-functions.php 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 arhiivilehte.

Ärge unustage lisada meie uut faili 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 me oma põhifailis content-tmpl_archives.php kasutame, on üsna lihtne. Asetage järgmine kood_content(); helistage:

Meil ei jää nüüd muud üle, kui hoolitseda ainsa puuduva faili archives-page-style.css eest. Salvestage see aga hilisemaks, kuna kasutame seda kõigi kohandatud arhiivilehe stiilide, sealhulgas vidinate hoidlana.

Kuvatakse 15 viimast kirjet

Selleks peame PHP käsitsi kodeerima. Kuigi postituse kuvamist saab rakendada mitmesuguste vidinate abil, vältigem monotoonsust ja sukeldugem koodi kirjutamisse, et näidata rohkem erinevaid võimalusi.

Tõenäoliselt küsite, miks just 15 kirjet? Ma ei tea, ma lihtsalt võtsin selle numbri laest. Teeme selle kohandatud väljadega kohandatavaks.

Teeme järgmist.

  • Postituste arvu määrasime läbi suvalise välja arhiveeritud-postituste-nr.
  • 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, 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()) ( kaja "

"; 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 postituste arvu ja toob need postitused andmebaasist WP_Query(); abil. Kasutan ka mõningaid Font Awesome'i ikoone, et sellele plokile võlu 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 koodiplokiga, mis tuleb paigutada meie faili content-tmpl_archives.php (eelmise ploki alla):

Meie autorid

Liigume mõne minuti pärast stiilide juurde. Praegu pange tähele, et kõik tehakse funktsiooni wp_list_authors() väljakutsega.

Kuva lingid arhiividele kuude kaupa

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

See näeb failis content-tmpl_archives.php välja järgmiselt:

Kuu kaupa

Sel juhul väljastame selle ühe lõiguna, kusjuures kirjed on eraldatud kaldkriipsuga (|).

Täieliku arhiivi lehe mall

Vaatame täielikku faili content-tmpl_archives.php, mis on meie peamine kohandatud arhiivi väljundfail:

>

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()) ( kaja "

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 kaupa

stiilileht

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

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; ) .arhiivide-autorite-jaotis ul li ( kuva: tekstisisene; polsterdus: 0 10px; ) .arhiivide-autorite sektsioon ul li a (tekst-kaunistus:puudub; ) .arhiivide-kuu-jaotis ( ext-align: center; sõnavahe: 5px; ) .archives-by-month-section p ( ääris-ülemine: 1px dotted #888; border-all: 1px dotted #888; padding: 15px 0; ) .archives- kuude kaupa-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 ja tundliku kujundusplokk 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 Zerif Lite'i teema jaoks, mis on saadaval WordPressi ametlikus kataloogis. Kuid nagu ma varem ütlesin, saab seda kasutada mis tahes teemaga. Seda saab teha järgmiselt.

  1. Võtame õpetuses loodud failid archives-page-style.css ja archives-page-functions.php ning paneme need seejärel teema põhikataloogi.
  2. Redigeerige teema funktsioonis.php ja lisage päris lõppu järgmine rida: request get_template_directory() . ‘/archives-page-functions.php’;
  3. Võtame teema faili page.php, teeme sellest koopia, nimetame selle ümber, muudame funktsiooni get_template_part() väljakutseks get_template_part('content', 'tmpl_archives');, mille järel lisame kirjeldava kommentaari. algus: /* Malli nimi: Arhiivileht Kohandatud */.
  4. Võtke oma teema fail content-page.php, tehke sellest koopia, nimetage see ümber sisuks-tmpl_archives.php ja lisage kõik kohandatud plokid, mille lõime õpetuses otse funktsiooni the_content(); alla.
  5. Testime ja naudime.

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