Merhaba, blog sitesinin sevgili okuyucuları. Çok uzun zaman önce, küçük kusurlarına ve bilimsel topluluktan makalelerinin eleştirisine rağmen, her türlü gurur verici sıfatı kesinlikle hak eden biri hakkında yazdım.
Kar amacı gütmeyen bir projenin on yıllardır tüm İnternet topluluğunun yararına çalışıyor olması büyük saygıyı hak ediyor. Ancak ağda hala bundan gelir elde etmeden çok önemli bir rol oynayan benzer büyük ölçekli bir proje var - site arşivlerini kaydeder, video, ses ve basılı ürünler.
Dikkat çekici bir şekilde, bu listenin son sütunu (Excel'de açılabilir), Web Arşivi'ndeki her site için oluşturulan arşiv sayısını gösterecektir (ancak Web Arşivinde bir etki alanının varlığını birkaç çevrimiçi ortamda da kontrol edebilirsiniz). hizmetler, örneğin, bu veya bu konuda).
Yayınlanmış veya yayınlanmış olan burjuva alan adlarının listesi bu linkten indirilmeye sunulmaktadır. Peki, o zaman Web Arşivinin kaydettiği sitelerin içeriğine bakarız ve değerli bir şey bulmaya çalışırız. Sonra bu malzemelerin benzersizliğini kontrol ediyoruz (bağlantıyı biraz daha yukarıda verdim) ve başarılı olursa bunları kaynağımızda yayınlıyoruz veya bazılarında satıyoruz.
Evet, yöntem sıkıcı ve ben şahsen test etmedim. Ancak, bir dereceye kadar otomasyon ve beyin yıkama ile iyi bir çıktı verebileceğini düşünüyorum. Muhtemelen birileri onu yayına koymuştur. Ve sen ne düşünüyorsun?
Sana iyi şanslar! Yakında blog sayfaları sitesinde görüşürüz
ilginizi çekebilir
Bağlantı satın alırken potansiyel bağışçıların ücretsiz analizi için SEObuilding.RU'daki sitelerin karşılaştırılması
Kayıt için güzel ve ücretsiz alan adlarının seçimi için ücretsiz çevrimiçi hizmet (Frishki.ru)
SEObuilding.RU - güven, maliyet ve çok daha fazlasının hesaplanmasıyla sitelerin eksiksiz ücretsiz analizi
Fotoğraf stokları ve fotoğraf bankaları - 30 ücretsiz yasal fotoğraf, resim ve simge kaynağı VirusTotal - bilgisayarınızdaki, telefonunuzdaki ve web sitenizdeki dosyaların tüm antivirüslerle aynı anda çevrimiçi virüs taraması
Ücretsiz çevrimiçi hizmetlerde site analizi Pr-cy, Cy-pr, Be1, Xseo ve diğerleri
Site kontrolü (analiz) - 85 çevrimiçi hizmet ve program
Web sitesi trafiğini nasıl günde 300 kişiye çıkardım? SE Sıralaması, SEO'ya yeni başlayanlar ve profesyoneller için en iyi konum izleme hizmetidir
Airi.rf bulut hizmetinde sitenizin hızlandırılması ve korunması
Size en az kullandığınız varsayılan WordPress sayfa türünü sorsam, cevabınız büyük olasılıkla arşiv şablonu olacaktır. Ya da daha büyük olasılıkla, arşiv desenini hiç duymadınız bile - çok popüler değil. Nedeni basit. Arşivleri kullanmanın standart yolu "kullanıcı dostu" olmaktan uzaktır.
Bugün düzeltelim! Gerçekten kullanışlı bir WordPress arşiv sayfası oluşturalım. En iyi yanı, bu arşivleri sitenizde kurulu herhangi bir modern WordPress temasında kullanabilmenizdir. Ancak, önce "arşivler sayfası" ile ne demek istediğimizi anlayalım?
WordPress Arşivlerinin Tarihi
WordPress'te, standart yapılandırmayla birlikte gelen tonlarca farklı şablon ve yapısal öğeyle çalışırsınız. Standart Yirmi Onbeş temasının dizin listesine bakarsak aşağıdakileri göreceğiz:
- 404 hata sayfası
- Arşivler sayfası (bugünkü konuğumuz)
- Ekli Resim Sayfası
- Dizin sayfası (ana sayfa)
- Sayfa şablonu (standart sayfalar için)
- Arama sonuçları sayfası
- Bireysel gönderi ve ek sayfaları
Farklı amaçlarına rağmen, bu sayfaların hepsi yapı olarak birbirine çok benzer ve genellikle yalnızca birkaç alanda veya birkaç satır kodda farklılık gösterir. İndeks sayfası ile arşiv sayfası arasındaki tek görünür fark, üstteki ek başlıktır ve bu, görüntülenen sayfaya göre değişir.
Arşiv yapısının arkasındaki fikir, blog yöneticisine arşivleri çeşitli kriterlere göre görüntülemek için uygun ve kolay bir yol sunmaktır. Sonuçta, tüm bu farklı arşiv sayfaları, dizin sayfasının yalnızca sürümleridir; belirli bir yazar tarafından belirli bir zaman diliminde yayınlanan içeriği belirli etiketler ve kategorilerle görüntülerler.
Bir programcının bakış açısından kulağa hoş geliyor, ancak en kullanıcı dostu yaklaşım değil. Bu durumda, önemli bir düzey eksiktir - kullanıcının içeriği bulma niyeti ile arşivlerin tek tek öğeleri arasındaki düzey.
Demek istediğim bu. Şu anda, bir WordPress sitesinde arşiv bağlantılarını görüntülemenin tek yerleşik yolu bir widget aracılığıyladır. Bu nedenle, kullanıcıların arşivleri derinlemesine incelemesine izin vermek ve bunu insanların anlayabileceği bir şekilde yapmak istiyorsanız, tüm kenar çubuğunu yalnızca arşivlere ayırmanız gerekir (sadece farklı yapılandırma türlerini ortaya çıkarmak için: arşivler). tarihe göre, kategori arşivleri, arşiv etiketleri, telif hakkı arşivleri vb.).
Bir aracıya, ziyaretçiyi karşılayacak, ona arşivde olduğunu açıklayacak, ilgi duyduğu içeriği belirtecek veya popüler içerik sunacak bir tür sayfaya ihtiyacımız var.
Bu nedenle özel bir arşiv sayfası oluşturmaya karar verdik.
WordPress'te Özel Arşiv Sayfası Nasıl Oluşturulur
İşte yapacağımız şey. Özel arşiv sayfamız özel bir sayfa şablonuna dayalı olacaktır. Bu şablon aşağıdakileri yapmamıza izin verecektir:
- Özel bir mesaj ekleyin (metin, resim, kayıt formu vb. içerebilir - standart WordPress içeriği).
- Son 15 girişi göster (yapılandırılabilir)
- Yazar arşivlerinin bağlantılarını göster
- Arşiv bağlantılarını aya göre göster
- Ek widget alanlarına sahip olun (özellikli içerik, kategoriler, etiketler gibi şeyleri görüntülemek için).
Son olarak, sayfa duyarlı olacak ve herhangi bir sitede kullanılabilir.
Ancak, gerçekten bazı temaları temel almamız gerekiyor. Zerif Lite temasını kullandım. Bunun kendi temalarımızdan biri olduğunu itiraf ediyorum. Ancak, geçen yıl WordPress tema dizininde yayınlanan en popüler 10 temadan biridir. Bu yüzden umarım faydalanırsınız.
Ve evet, konuyu beğenmediyseniz küfür etmenize gerek yok. Makalede sunulan yaklaşımı başka bir tema ile kullanabilirsiniz.
Ana dosyadan başlayarak
Bir arşiv sayfası oluşturmak için en iyi model, birkaç nedenden dolayı mevcut temanızın page.php dosyasıdır:
- Yapısı, ana içerik bloğu içinde keyfi içeriği görüntülemek için zaten optimize edilmiştir.
- Bu muhtemelen tema yapınızdaki en basit sayfa şablonlarından biridir.
Bu nedenle Zerif Lite temasının page.php dosyasını kullanacağız. Bunun bir kopyasını oluşturacağım ve adını tmpl_archives.php olarak koyacağım.
(Sayfayı page-archives.php olarak adlandırmadığınızdan emin olun. "page-" ile başlayan tüm dosya adları, ana WordPress tema dosya hiyerarşisinde yeni sayfa şablonları olarak ele alınacaktır. tmpl_ önekini kullanmamızın nedeni budur).
Bunu aşağıdaki şekilde değiştirelim:
Bu satırın tek yaptığı, arşivler sayfamız için uygun içerik dosyasını geçmek.
Arşiv sayfanızdan gereksiz görünen diğer öğeleri kaldırabilirsiniz (örneğin yorumlar gibi), ancak HTML yapısıyla ilgili tüm öğeleri kaldırdığınızdan emin olun. Ve genel olarak, denemekten korkmayın. Sonuçta, bir şey aniden çalışmayı durdurursa, her zaman önceki koda geri dönebilir ve kolayca hata ayıklayabilirsiniz.
Ayrıca, dosyanızın en başında olması gereken standart yorumu - şablonun açıklamasını - unutmayın (bizim durumumuzda, tmpl_archives.php dosyasında):
Sonunda, aşağıdaki yapıyı bıraktık (kolaylık olması için bazı öğeler ondan çıkarıldı):
Bu dosyada, yalnızca yapısal öğelerin yanı sıra temel WordPress işlevlerine yapılan çağrıları bırakarak gereksiz her şeyi kaldırmamız gerekecek:
Kodun tam ortasındaki yer tutucu yorumu, daha sonra isteğe bağlı öğelerimizi ekleyeceğimiz yerdir.
Özel bir selamlama ekleme
WordPress kendisi zaten bununla ilgilendi. Sadece aşağıdaki satırı eklememiz gerekiyor:
Yeni widget alanları ekleme
Standart işlemi kullanarak WordPress'te yeni widget alanları oluşturalım. Her şeyi temadan temaya yeniden kullanılabilir durumda tutmak için bunu ek bir özellik dosyasıyla yapacağız. Ana tema dizininde yeni bir dosya,archives-page-functions.php oluşturacağız ve ayrıca iki yeni widget alanı kaydedeceğiz:
If(!function_exists("archives_page_widgets_init")) : functionarchives_page_widgets_init() ( /* SOLda görüntülenen ilk arşiv sayfası parçacığı. */ register_sidebar(array("name" => __("Arşiv sayfası parçacığı SOL", "zerif") -lite"), "description" => __("Bu widget, arşiv sayfanızın sol tarafında gösterilecektir.", "zerif-lite"), "id" => "archives-left", "before_widget" => "
", "before_title" => "", "after_title" => "
",)); /* SAĞda görüntülenen ikinci arşiv sayfası widget'ı. */ register_sidebar(array("name" => __("Arşiv sayfası widget'ı SAĞ", "zerif-lite")), "description" => __ ("Bu widget, arşiv sayfanızın sağ tarafında gösterilecektir.", "zerif-lite"), "id" => "archives-right", "before_widget" => " ", "before_title" => "", "after_title" => "
",)); ) endif; add_action("widgets_init", "archives_page_widgets_init");If(!function_exists("archives_page_styles")) : functionarchives_page_styles() ( if(is_page_template("tmpl_archives.php")) ( wp_enqueue_style("archives-page-style", get_template_directory_uri() . "/archives-page-style. css"); // WP'ye stil sayfaları eklemenin standart yolu. )) endif; add_action("wp_enqueue_scripts", "archives_page_styles");
Bu, koşullu bir kuyruğa alma işlemidir. Yalnızca ziyaretçi bir arşiv sayfasını görüntülüyorsa çalışır.
Mevcut temanın functions.php dosyasının en sonuna aşağıdaki satırı ekleyerek yeni arşiv-sayfa-işlevleri.php dosyamızı eklemeyi unutmayın:
get_template_directory() gerektir. "/archives-page-functions.php";
Son olarak, ana content-tmpl_archives.php dosyamızda kullanacağımız yeni blok oldukça basittir. Aşağıdaki kodu the_content(); çağrısının altına yerleştirin:
Şimdi bize kalan tek şey, tek eksik dosya olan arşiv-sayfa-stil.css ile ilgilenmek. Ancak, özel arşiv sayfamızın tüm stilleri için, gereçler de dahil olmak üzere bir havuz olarak kullanacağımızdan, onu daha sonraya saklayalım.
Son 15 kaydı görüntüleme
Bunu yapmak için, bazı manuel PHP kodlaması yapmamız gerekiyor. Gönderi gösterimi çeşitli widget'lar kullanılarak uygulanabilse de, monotonluktan kaçınalım ve daha farklı olasılıkları göstermek için kod yazmaya dalalım.
Muhtemelen neden tam olarak 15 giriş soruyorsunuz? Bilmiyorum, bu numarayı az önce tavandan aldım. Özel alanlarla özelleştirilebilir hale getirelim.
İşte yapacağımız şey:
- Gönderi sayısını, rastgele bir arşivlenmiş gönderi-no alanı aracılığıyla belirledik.
- Numara geçerli değilse, şablon son 15 girişte varsayılan değeri kullanır.
Bunu yapan kod aşağıdadır. Bunu, yeni pencere öğesi alanlarını işleyen content-tmpl_archives.php dosyasındaki önceki bölümün altına yerleştirin.
Kimlik, "arşivlenmiş gönderiler-hayır", doğru)); /* Burada, alınan sayının makul olduğundan emin oluyoruz. 200'den büyük veya 2'den küçük olması durumunda, onu varsayılan 15 değerine sıfırlıyoruz. */ if($how_many_last_posts > 200 || $how_many_last_posts< 2) $how_many_last_posts = 15; $my_query = new WP_Query("post_type=post&nopaging=1"); if($my_query->have_posts()) ( yankı "
"; Eko "
- "; $counter = 1; while($my_query->have_posts() && $counter<= $how_many_last_posts) {
$my_query->posta(); ?>
- ">
Bu kodun tek yaptığı, özel alanın değerini almak, görüntülenecek gönderi sayısını ayarlamak ve ardından bu gönderileri WP_Query(); kullanarak veritabanından getirmek. Bu bloğa biraz çekicilik eklemek için bazı Font Awesome simgelerini de kullanıyorum.
Yazar arşivlerine bağlantılar gösteriliyor
Bu bölüm yalnızca çok yazarlı bir blog çalıştırıyorsanız kullanışlıdır. Bir yazarınız varsa atlayın.
Bu işlevsellik, content-tmpl_archives.php dosyamıza (önceki bloğun altına) yerleştirilmesi gereken basit bir kod bloğu ile uygulanabilir:
Yazarlarımız
Birkaç dakika içinde stillere geçeceğiz. Şimdilik, her şeyin wp_list_authors() işlevine yapılan bir çağrıyla yapıldığına dikkat edin.
Arşiv bağlantılarını aya göre göster
Bu öğeyi en sona ekledim çünkü okuyucular açısından en kullanışlı bileşen değil. Ancak, sitede başka bir yerde aylık arşivleri görüntülemek için widget'ları kullanmak zorunda kalmamanız için arşiv sayfasında bulunması önemlidir.
content-tmpl_archives.php dosyasında nasıl görüneceği aşağıda açıklanmıştır:
Ayda
Bu durumda, girişleri bir eğik çizgiyle (|) ayırarak tek bir paragraf olarak çıktısını alacağız.
Tam arşiv sayfası şablonu
Ana özel arşiv çıktı dosyamız olan tam content-tmpl_archives.php dosyasına bir göz atalım:
Son ".$how_many_last_posts." Gönderiler
"; Eko " "; $counter = 1; while($my_query->have_posts() && $counter<= $how_many_last_posts) {
$my_query->posta(); ?>
Yazarlarımız
Ayda
stil sayfası
Son olarak, stil sayfasına bakalım. Archis-page-style.css dosyası şöyle görünür:
Archives-widget-left ( float: left; width: 50%; ) .archives-widget-right ( float: sol; padding-sol: %4; genişlik: %46; ) .archives-latest-section ( ) .archives -latest-section ol ( font-style: italik; font-size: 20px; padding: 10px 0; ) .archives-latest-section ol li ( padding-sol: 8px; ) .archives-authors-section ( ) .archives -yazarlar bölümü ul ( liste stili: yok; metin hizalama: merkez; kenarlık-üst: 1 piksel noktalı #888; kenarlık-alt: 1 piksel noktalı #888; dolgu: 10 piksel 0; yazı tipi boyutu: 20 piksel; kenar boşluğu: 0 0 20px 0; ) .archives-authors-section ul li ( display: inline; padding: 0 10px; ) .archives-authors-section ul li a ( text-decoration:none; ) .archives-my-section ( dış hizalama: merkez; sözcük aralığı: 5 piksel; ) .arşivler-ay-bölüm p ( kenarlık-üst: 1 piksel noktalı #888; kenarlık-alt: 1 piksel noktalı #888; dolgu: 15 piksel 0; ) .arşivler- aya göre bölüm p a ( text-decoration:none; ) yalnızca medya ekranı ve (max-width: 600px) ( .archives-widget-left ( width: 100%; ) .archives-widget -sağ(genişlik: %100; ))
Çoğunlukla stiller, birkaç hizalama dışında yazı tipleri ve birkaç yapısal öğe ve sonunda duyarlı bir tasarım bloğu ile ilgilidir.
Bunun pratikte nasıl görüneceğini görelim. İşte bir ton arşivlenmiş içeriğe sahip bir site:
Bu şablon herhangi bir temaya nasıl entegre edilir?
Burada oluşturduğumuz özel arşivler sayfası, resmi WordPress dizininde bulunan Zerif Lite teması içindir. Ancak daha önce de söylediğim gibi herhangi bir tema ile kullanılabilir. Bunu nasıl yapacağınız aşağıda açıklanmıştır:
- Öğreticide oluşturduğumuz arşiv-sayfa-style.css ve arşiv-sayfa-işlevleri.php dosyalarını alıp temanın ana dizinine atıyoruz.
- Temanın function.php dosyasını düzenleyin ve en sona şu satırı ekleyin: require get_template_directory() . '/archives-page-functions.php';
- Temanın page.php dosyasını alıyoruz, bir kopyasını alıyoruz, yeniden adlandırıyoruz, get_template_part() işlev çağrısını get_template_part('content', 'tmpl_archives'); olarak değiştiriyoruz, ardından en başa açıklayıcı bir yorum ekliyoruz. başlangıç: /* Şablon Adı: Arşiv Sayfası Özel */.
- Temanızın content-page.php dosyasını alın, bir kopyasını oluşturun, onu content-tmpl_archives.php olarak yeniden adlandırın ve öğreticide oluşturduğumuz tüm özel blokları the_content(); işlev çağrısının hemen altına ekleyin.
- Test edip eğleniyoruz.
Varsayılan Yirmi Onbeş temasında nasıl görüneceği aşağıda açıklanmıştır:
Sitenin kaynağını sunucudan hızlı bir şekilde indirmeniz gerektiğinde, nispeten hızlı bir SSH tüneli bile gerekli hızı sağlamaz. Ve bekleme çok, çok uzun. Ve birçok barındırma sağlayıcısı bu erişimi sağlamaz, ancak onları birkaç kat daha yavaş olan FTP ile memnun eder.
Şahsen kendim için çıkış yolunu belirledim. Sunucuya küçük bir komut dosyası yüklenir ve başlatılır. Bir süre sonra tüm kaynakların olduğu bir arşiv elde ediyoruz. Ve bir dosya, eski FTP'yi kullansa bile, yüzlerce küçük dosyadan çok daha hızlı indirilir.
Bu blogun daha önceki sayfalarında zipArchive kitaplığı vardı. Ancak, o zaman arşivi açmakla ilgiliydi.
Öncelikle, sunucunun zipArchive'ı destekleyip desteklemediğini öğrenmemiz gerekiyor. Bu popüler kitaplık, barındırmaların büyük çoğunluğuna kurulur.
Kütüphane kesinlikle php ve sunucu parametreleri ile sınırlıdır. Büyük veritabanları ve fotoğraf bankaları arşivlenemez. Muhasebe için eski güzel 1C programının temelleri bile. Görünüşe göre sadece metinsel veriler içermeleri gerekiyor. Ama hayır.
Kitaplığı yalnızca çok sayıda küçük dosya içeren nispeten küçük siteleri arşivlerken kullanmanızı öneririm.
Kütüphanenin mevcut olup olmadığını kontrol edin
If (!extension_loaded("zip")) ( false döndür; )
Her şey yolundaysa, komut dosyası yürütmeye devam edecektir.
Bu tür kontroller için küçük bir offtopik. Kontroller bu şekilde yapılmalı, iç içe parantezli büyük yapılardan kaçınılmalıdır. Bu, kodu daha atomik ve hata ayıklamayı daha kolay hale getirecektir. Karşılaştırmak
If(a==b)( if(c==d)( if(e==f)( echo "Tüm koşullar karşılandı"; )else echo "e<>f"; )else echo "c<>d"; )else echo "a<>b;
ve bu kod
if(a!=b) çıkış("a<>b); if(c!=d) çıkış("c<>d); if(e!=f) çıkış("e<>f); echo "Tüm koşullar karşılandı";
Kod daha güzeldir ve iç içe büyük yapılara dönüşmez.
Offtopik için üzgünüm, ama bu bulguyu paylaşmak istedim.
Şimdi bir nesne ve bir arşiv oluşturalım.
$zip = yeni ZipArchive(); if (!$zip->open($destination, ZIPARCHIVE::CREATE)) ( false döndür; )
$hedef arşivin tam yoludur. Arşiv zaten oluşturulmuşsa, dosyalar ona eklenecektir.
$zip->addEmptyDir(str_replace($source . "/", "", $file . "/"));
$source kategorimizin tam yolu (başlangıçta arşivlediğimiz), $file geçerli klasörün tam yoludur. Bu, arşivin tam yolları içermemesi, yalnızca göreceli olanları içermesi için yapılır.
Dosya eklemek benzer şekilde çalışır, ancak önce onu bir dizgeye okumalısınız.
$zip->addFromString(str_replace($source . "/", "", $file), file_get_contents($file));
Sonunda, arşivi kapatmanız gerekir.
Döndür $zip->close();
Bir klasördeki tüm dosya ve alt dizinlerin nasıl çalıştırılacağını açıklamaya gerek yok sanırım. Google gibi bir şey PHP'de klasörlerin özyinelemeli geçişi
bu seçeneği aldım
İşlev Zip($source, $hedef)( if (!extension_loaded("zip") || !file_exists($source)) ( false döndür; ) $zip = new ZipArchive(); if (!$zip->open( $destination, ZIPARCHIVE::CREATE)) ( false döndür; ) $source = str_replace("\\", "/", realpath($source)); if (is_dir($source) === true)( $files = new RecursiveIteratorIterator(new RecursiveDirectoryIterator($source), RecursiveIteratorIterator::SELF_FIRST); foreach ($files as $file)( $file = str_replace("\\", "/", $file); // "Yoksay"." ve ".." klasörleri if(in_array(substr($file, strrpos($file, "/")+1), array(".", ".."))) Continue; $file = realpath($file ); $file = str_replace("\\", "/", $file); if (is_dir($file) === true)( $zip->addEmptyDir(str_replace($source . "/", "" , $file . "/")); )else if (is_file($file) === true)( $zip->addFromString(str_replace($source . "/", "", $file), file_get_contents($) file)); ) ) )else if (is_file($source) === true)( $zip->addFromString(basename($source), file_get_contents($source)); ) $zip->kapat() döndür; )
Dün forumda bana soruldu PHP'de ZIP arşivleri oluşturma. Biraz düşündüm ve bu konunun çok sayıda insanı ilgilendireceğini anladım, çünkü PHP'de zip arşivlemeçok popüler bir konu. Ve bu yazıda bir örnek göstereceğim, PHP betiği kullanarak bir ZIP arşivi nasıl oluşturulur.
sadece bir örnek vereyim ZIP arşivi oluşturma, ve sonra dikkatlice yorumlayacağım:
$zip = yeni ZipArchive(); //ZIP arşivleriyle çalışmak için bir nesne oluşturun
$zip->open("archive.zip", ZIPARCHIVE::CREATE); //Arşiv arşivini aç (oluştur)
$zip->addFile("index.php"); // index.php dosyasını arşive ekleyin
$zip->addFile("styles/style.css"); //style/style.css dosyasını arşive ekleyin
$zip->kapat(); //Arşivle çalışmayı tamamla
?>
Bu betiğin yürütülmesinin bir sonucu olarak, posta arşivi, kökünde bir dosya olacak index.php ve bir dizin oluşturulacak stiller, dosyayı içerecek stil.css. Bence her şey açık ve mantıklı. Ve şimdi seninle yaptığımız şey hakkında yorum yapıyorum:
- Bir nesne oluşturdu ZipArşiv yapıcıyı kullanarak.
- Yöntemi kullanarak bir arşiv oluşturdu açık() nesne ZipArşiv. Arşivin adını geçtik ( arşiv.zip) ve sabit ZİPARŞİV::OLUŞTUR, arşivin mevcut olup olmadığını söyler, o zaman oluşturulması gerekir.
- Yöntem dosya Ekle() arşive dosya ekler. Önce dosyayı ekledik" index.php", script ile aynı dizinde bulunur. Ardından dosyayı ekledik. stil.css, ayrıca komut dosyasına göre doğru yolu gösterir.
- Yöntem kapat() arşivden çıkar. Bilgisayar kaynaklarını boşaltmak ve ayrıca bu komut dosyasının ve bu arşive erişmesi gereken diğer komut dosyalarının çalışmasıyla ilgili çeşitli sorunlardan kaçınmak için her zaman çalıştırın.
Bu basit şekilde yapabilirsiniz PHP ile otomatik olarak ZIP arşivleri oluşturun. Bir sonraki makalede, tartışacağız php ile zip arşivi nasıl çıkarılır.
İşte 2008 yılında sitede yayınladığımız en önemli haberler.
Güncelleme (6 Aralık): Eksik zip güvenlik düzeltmesi eklendi
Son alfadan bu yana çok sayıda başka ekleme ve iyileştirme yapıldı, ancak işte en önemli değişikliklere kısa bir genel bakış:
- (belgeler mevcut duruma güncellendi)
- ext/msql kaldırıldı, ext/ereg şimdi E_DEPRECATED bildirimlerini yükseltecek
- ext/mhash, ext/hash ile değiştirildi ancak tam BC korunuyor
- PHP artık varsayılan derleyici olarak gcc yerine cc kullanıyor
- ext/pdo, ext/soap, diğerlerinin yanı sıra akış katmanı için bir dizi hata düzeltmesi
Kaputun altındaki birkaç değişiklik, geriye dönük uyumluluk kesintilerinin en aza indirilmesini sağlamak için mevcut uygulamalarla derinlemesine test yapılmasını gerektirir.
Geliştiricilerin, tasarımcıların, yöneticilerin veya PHP programlama diline ilgi duyan herkesin çok makul bir oranda harika bir etkinlik olma vaadinde bize katılmasını çok isteriz:
- Standart biletler: 60,00 £
- Erken kayıt (8 Kasım'a kadar): 50,00 £
- İmtiyazlı biletler: 35.00 £
* Şirketinizin antetli kağıdı ile teyit
** Öğrenci Kimliği ile. Sınırlı oturma mevcut
Bu alfa sürümünün amacı, kullanıcıları yalnızca hataların belirlenmesine aktif olarak katılmaya değil, aynı zamanda tüm yeni özelliklerin veya gerekli geriye dönük uyumluluk kesintilerinin belgelerde belirtilmesini sağlamaya teşvik etmektir. Lütfen bulgularınızı veya bölümüne bildirin.
Çok sayıda başka ekleme ve iyileştirme yapıldı, ancak işte en önemli değişikliklere kısa bir genel bakış:
- (belgeler tarihli olabilir)
- , (phar, alfa2 başlığının biraz daha çalışması için planlanmıştır) ve uzantıların eklenmesi
- isteğe bağlı döngüsel çöp toplama
- libmysql için MySQLnd yedek sürücüsü için isteğe bağlı destek
- Windows 2000'den daha eski Windows (Windows 98, NT4, vb.) artık desteklenmiyor ()
- Sınırlı GOTO, üçlü kısayol "?:" gibi yeni sözdizimi özellikleri
Kaputun altındaki birkaç değişiklik, geriye dönük uyumluluk kesintilerinin en aza indirilmesini sağlamak için mevcut uygulamalarla derinlemesine test yapılmasını gerektirir. Bu, özellikle belgelenmemiş Zend motoru çok baytlı desteğine ihtiyaç duyan kullanıcılar için önemlidir.
En çok başvuru yapan kişimiz Felix De Vliegher, gönderimlerinin yüksek kalitesine dayanarak PHP deposuna taahhüt hakkı verildiğinden beri son gönderimlerini gerçekleştirdi. Tüm katılımcılardan haber alamadık, ancak herkesi deneyimleri hakkında blog yazmaya ve gelecekteki etkinlikleri nasıl iyileştirebileceğimiz konusunda bize geri bildirim sağlamaya teşvik ediyoruz.
Şimdi hiç olmamasından iyidir, işte Nexen sponsorluğunda vaat edilen elePHPant çekilişinin 10 kazananı. Felix'in, zaten evde oldukça fazla sayıda elePHPant'ı güttüğü için onu çekilişe dahil etmememi istediğini unutmayın.
- Eric Stewart
- Havard Eide
- Marc Veldman
- Michelangelo van Barajı
- Dizgin Kadife
- rob genç
- Sami Greenbury
- Sebastian Almanca
- Sebastian Schürmann
- Stefan Koopmanschap
ElePHPants'ın gönderilmesini ayarlayabilmeleri için kazananların e-posta adreslerini Nexen'e vereceğiz. Ayrıca merak edenler için, üzerinde testler göndermeye devam edebilirsiniz. Tüm katılımcılara ve TestFest organizatörlerine çok teşekkür ederiz! Yerel etkinliklerin düzenlenmesine, altyapının uygulanmasına ve başvuru incelemecilerine yardımcı olan sayısız insan olmasaydı, TestFest açıkçası olduğu kadar iyi sonuçlanmayacaktı. TestFest 2008'in büyük başarısına istinaden gelecekte de benzer etkinlikleri mutlaka yapacağız.
PHP 5.2.6'daki Güvenlik Geliştirmeleri ve Düzeltmeleri:
- Andrei Nigmatulin tarafından tanımlanan FastCGI SAPI'de olası yığın arabellek taşması düzeltildi.
- Maksymilian Aciemowicz tarafından tanımlanan printf() içindeki sabit tamsayı taşması.
- Ryan Permeh tarafından tanımlanan CVE-2008-0599'da ayrıntılı olarak açıklanan sabit güvenlik sorunu.
- Maksymilian Arciemowicz tarafından tanımlanan cURL'de safe_mode atlama düzeltildi.
- Stefan Esser tarafından tanımlanan escapeshellcmd() içindeki tamamlanmamış çok baytlı karakterleri doğru şekilde adresleyin.
- Birlikte verilen PCRE, 7.6 sürümüne yükseltildi
Altın Numaralar Güzel bir telefon numarası nasıl satılır
Kripto para madenciliği: basit kelimelerle nedir
En iyi dizüstü bilgisayar işletim sistemi: Eksiksiz inceleme
Sınıf arkadaşlarından müzik indirmek için programlar Sosyal ağ sınıf arkadaşlarından üzücü bir şarkı indirin
Yandex tarayıcısının mobil versiyonu