<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Blame - webDevelopin&#039;</title>
	<atom:link href="http://matkrzesz.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://matkrzesz.wordpress.com</link>
	<description>Tworzenie stron www</description>
	<lastBuildDate>Tue, 24 Jan 2012 16:09:17 +0000</lastBuildDate>
	<language>pl</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='matkrzesz.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Blame - webDevelopin&#039;</title>
		<link>http://matkrzesz.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://matkrzesz.wordpress.com/osd.xml" title="Blame - webDevelopin&#039;" />
	<atom:link rel='hub' href='http://matkrzesz.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Zamknięcie połączenia i dalsze wykonywanie skryptu w PHP</title>
		<link>http://matkrzesz.wordpress.com/2011/12/04/zamkniecie-polaczenia-i-dalsze-wykonywanie-skryptu-w-php/</link>
		<comments>http://matkrzesz.wordpress.com/2011/12/04/zamkniecie-polaczenia-i-dalsze-wykonywanie-skryptu-w-php/#comments</comments>
		<pubDate>Sun, 04 Dec 2011 13:43:24 +0000</pubDate>
		<dc:creator>matkrzesz</dc:creator>
				<category><![CDATA[Ogólne]]></category>
		<category><![CDATA[PHP i Mysql]]></category>
		<category><![CDATA[Przeglądarki]]></category>
		<category><![CDATA[bufor]]></category>
		<category><![CDATA[curl]]></category>
		<category><![CDATA[fsockopen]]></category>
		<category><![CDATA[PHP]]></category>

		<guid isPermaLink="false">http://matkrzesz.wordpress.com/?p=151</guid>
		<description><![CDATA[Witajcie, dzisiaj zaprezentuję wam szalenie przydatny trik, który znajduje zastosowanie zawsze wtedy, kiedy skrypt ma do wykonania jakieś czasochłonne zajęcie a nie chcielibyśmy zbytnio wystawiać na próbę cierpliwość naszych użytkowników. Zatem do dzieła! Wstęp Wyobraźmy sobie sytuację, w której użytkownik wchodzi na naszą stronę aby pobrać jakieś dane. Skrypt szybciutko łączy się z bazą i <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=matkrzesz.wordpress.com&amp;blog=12031294&amp;post=151&amp;subd=matkrzesz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" style="margin:3px;" title="PHP" src="http://vixlog.pl/wp-content/uploads/2011/07/php.png" alt="" width="164" height="86" /> Witajcie, dzisiaj zaprezentuję wam szalenie przydatny trik, który znajduje zastosowanie zawsze wtedy, kiedy skrypt ma do wykonania jakieś czasochłonne zajęcie a nie chcielibyśmy zbytnio wystawiać na próbę cierpliwość naszych użytkowników. Zatem do dzieła!</p>
<p><span id="more-151"></span></p>
<h2>Wstęp</h2>
<p>Wyobraźmy sobie sytuację, w której użytkownik wchodzi na naszą stronę aby pobrać jakieś dane. Skrypt szybciutko łączy się z bazą i przekazuje mu je najszybciej jak to możliwe. Założenia naszego systemu wymagają jednak, aby każde działanie użytkownika było logowane do bazy. Normalnie połączenie użytkownik-&gt;skrypt pozostałoby otwarte, co skutkowałoby tym, że musiałby on bezsensownie czekać na zakończenie działania programu. To jest tylko przykładowa sytuacja, ale są i takie, w których skrypt po wysłaniu odpowiedzi musi się jeszcze wykonywać nawet przez dobre parę sekund. Rozwiązanie, które wam zaprezentuje rozwiąże ten problem.</p>
<h2>Sytuacja pierwsza &#8211; skrypt zwraca użytkownikowi dane</h2>
<p>Skorzystamy tutaj z możliwości PHP do buforowania danych wyjścia. Kluczem do zaoszczędzenia cennego czasu jest tutaj wysyłanie odpowiednich nagłówków, które powiedzą przeglądarce, czy i w którym momencie ma zamknąć połączenie/zakończyć ładowanie strony. Na początek kod:</p>
<pre>&lt;?php
// otwieramy bufor
ob_start();
// tutaj przetwarzamy i wyświetlamy wszystkie dane

// pobieramy wielkość bufora
$wielkoscOdpowiedzi = ob_get_length();

// wysyłamy nagłówki mówiące przeglądarce o zamknięciu połączenia
header("Content-Length: $wielkoscOdpowiedzi");
header('Connection: close');
header('Content-Encoding: none');
// wysyłamy dane z bufora
ob_end_flush();
ob_flush();
flush();

// zamykamy obecną sesję
if (session_id()) session_write_close();
//proces który leci sobie dalej w tle
sleep(10);
?&gt;</pre>
<p>Teraz małe objaśnienie. Na początku otwieramy bufor, wszystkie dane jakie potem wyślemy w nim lądują, następnym krokiem jest pobranie rozmiaru bufora, aby potem przekazać przeglądarce po ilu bajtach może skończyć ładowanie strony. Potem wysyłamy wszystkie nagłówki, w tym momencie należy pamiętać, że w tym przykładzie kompresja gzip musi być wyłączona. Jest to spowodowane faktem, że normalnie kompresja następuje po wykonaniu skryptu, co skutkuje różnicą pomiędzy wielkością przesyłanych danych a zadeklarowanym rozmiarem w nagłówku Content-Length. Kolejnym krokiem jest wysłanie całej zawartości bufora oraz zamknięcie sesji dla danego pliku tak aby nie nastąpiła interferencja, kiedy użytkownik będzie przeglądał dalej stronę podczas gdy skrypt nie zakończy jeszcze swojego działania. I teraz najlepsze, cała praca skryptu wykonywana po tych działaniach będzie miała miejsce tak jakby &#8222;w tle&#8221; i nie będzie już odczuwalna dla użytkownika. Warto dodać <code>ignore_user_abort(true);</code> na początku skryptu, co uczyni go niewrażliwym na zatrzymanie poprzez kliknięcie przycisku STOP w przeglądarce.</p>
<h2>Sytuacja druga &#8211; skrypt nie zwracający żadnych danych</h2>
<p>Tutaj sytuacja wygląda prościej i nie wymaga &#8222;przemeblowywania&#8221; kodu. Jeśli skrypt nic nie wyświetla podczas wykonywania a chcemy uzyskać taki sam efekt jak najszybszego uruchomienia programu i zamknięcia połączenia wystarczy na początku skryptu dodać:</p>
<pre>header("HTTP/1.0 204 No Content");</pre>
<p>Spowoduje to natychmiastowe zakończenie połączenia przez przeglądarkę/cURL/fsockopen przy dalszym wykonywaniu skryptu. Bajecznie prosta metoda, której warto używać zawsze wtedy, kiedy nie przekazujemy nic do przeglądarki.</p>
<h2>Podsumowanie</h2>
<p>To będzie na tyle moich dzisiejszych wypocin <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />  Mam nadzieje, że te dwa sposoby pozwolą wam na tworzenie jeszcze bardziej rozbudowanych a mimo to jeszcze szybszych serwisów.</p>
<p>Pozdro!</p>
<br /> Tagged: <a href='http://matkrzesz.wordpress.com/tag/bufor/'>bufor</a>, <a href='http://matkrzesz.wordpress.com/tag/curl/'>curl</a>, <a href='http://matkrzesz.wordpress.com/tag/fsockopen/'>fsockopen</a>, <a href='http://matkrzesz.wordpress.com/tag/php/'>PHP</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/matkrzesz.wordpress.com/151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/matkrzesz.wordpress.com/151/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/matkrzesz.wordpress.com/151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/matkrzesz.wordpress.com/151/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/matkrzesz.wordpress.com/151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/matkrzesz.wordpress.com/151/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/matkrzesz.wordpress.com/151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/matkrzesz.wordpress.com/151/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/matkrzesz.wordpress.com/151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/matkrzesz.wordpress.com/151/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/matkrzesz.wordpress.com/151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/matkrzesz.wordpress.com/151/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/matkrzesz.wordpress.com/151/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/matkrzesz.wordpress.com/151/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=matkrzesz.wordpress.com&amp;blog=12031294&amp;post=151&amp;subd=matkrzesz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://matkrzesz.wordpress.com/2011/12/04/zamkniecie-polaczenia-i-dalsze-wykonywanie-skryptu-w-php/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ed27cacac6643c2fb55a6d60f107886a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">matkrzesz</media:title>
		</media:content>

		<media:content url="http://vixlog.pl/wp-content/uploads/2011/07/php.png" medium="image">
			<media:title type="html">PHP</media:title>
		</media:content>
	</item>
		<item>
		<title>4 najlepsze sposoby na zaokrąglone rogi w HTML, CSS i JavaScript</title>
		<link>http://matkrzesz.wordpress.com/2010/10/05/zaograglone-rogi-zbior-sposobow/</link>
		<comments>http://matkrzesz.wordpress.com/2010/10/05/zaograglone-rogi-zbior-sposobow/#comments</comments>
		<pubDate>Tue, 05 Oct 2010 13:36:07 +0000</pubDate>
		<dc:creator>matkrzesz</dc:creator>
				<category><![CDATA[(x)HTML i CSS]]></category>
		<category><![CDATA[JavaScript]]></category>

		<guid isPermaLink="false">http://matkrzesz.wordpress.com/?p=133</guid>
		<description><![CDATA[Z racji tego, że powstało już baardzo wiele sposobów na zaokrąglone rogi pomyślałem, że nie będę pisał o niczym nowym. Ten wpis będzie zbiorem tych licznych rozwiązań wykorzystujących zarówno HTML, CSS jak i JavaScript. Na końcu każdej metody pozwoliłem sobie pokazać wady i zalety jej stosowania. Zapraszam do lektury Sposób pierwszy &#8211; CSS3 Jak wiadomo, <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=matkrzesz.wordpress.com&amp;blog=12031294&amp;post=133&amp;subd=matkrzesz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://matkrzesz.files.wordpress.com/2010/10/html_css_js.png"><img class="alignleft size-full wp-image-134" title="html_css_js" src="http://matkrzesz.files.wordpress.com/2010/10/html_css_js.png?w=510" alt=""   /></a>Z racji tego, że powstało już baardzo wiele sposobów na zaokrąglone rogi pomyślałem, że nie będę pisał o niczym nowym. Ten wpis będzie zbiorem tych licznych rozwiązań wykorzystujących zarówno HTML, CSS jak i JavaScript. Na końcu każdej metody pozwoliłem sobie pokazać wady i zalety jej stosowania. Zapraszam do lektury <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> <span id="more-133"></span></p>
<h2>Sposób pierwszy &#8211; CSS3</h2>
<p>Jak wiadomo, najnowsza wersja arkuszy stylów pozwala na uzyskanie krągłości na naszej stronie. Aby to zrobić wystarczy nadać danemu elementowi odpowiedni selektor, np. klasę a następnie dodać mu poniższe style:</p>
<p>-khtml-<code>border-radius: </code><code>10px</code><code> / 10px;</code></p>
<p><code>-webkit-border-radius: </code><code>10px</code><code> / 10px;</code> <code></code></p>
<p><code>-moz-border-radius: </code><code>10px</code><code> / 10px;</code></p>
<p><code>border-radius: </code><code>10px /</code><code> 10px;</code></p>
<p>Dla wyjaśnienia, pierwsza wartość to szerokość zaokrąglenia, z kolei wartość po slash&#8217;u &#8222;/&#8221; definiuje jego wysokość. W tym wypadku godna polecenia jest strona <a href="http://border-radius.com/">CSS Border Radius Generator</a> dzięki której wpisując odpowiednie wartości w pola przy rogach możemy na bieżąco obserwować kształt boków a następnie skopiować cały kod CSS.</p>
<p>&nbsp;</p>
<h3>Zalety</h3>
<ul>
<li>Wymaga niewielkich zmian w kodzie,</li>
<li>Używa najnowszych rozwiązań.</li>
</ul>
<h3>Wady</h3>
<ul>
<li>Rozwiązanie obsługiwane tylko przez najnowsze przeglądarki.</li>
</ul>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2>Sposób drugi &#8211; HTML i CSS</h2>
<p>Według mnie to całkiem ciekawe rozwiązanie, z którego korzysta chociażby <a href="http://www.google.pl/ig">iGoogle</a>. Na tą metodę natrafiłem na blogu Piotra Nalepy w artykule <a href="http://blog.piotrnalepa.pl/2009/05/20/css-zaokraglone-rogi-bez-uzywania-obrazkow/">[CSS] Zaokrąglone rogi bez używania obrazków</a>, tam również dostępne jest demo <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' />  Nie wdając się w szczegóły powiem tylko, że jest to jedna z najlepszych i najbardziej kompatybilnych metod.</p>
<p>&nbsp;</p>
<h3>Zalety</h3>
<ul>
<li>Działa na wszystkich graficznych przeglądarkach www,</li>
<li>Nie wymaga włączonej obsługi JavaScript.</li>
</ul>
<h3>Wady</h3>
<ul>
<li>Wymaga ingerencji w strukturę strony.</li>
</ul>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2>Sposób trzeci &#8211; jQuery Corner</h2>
<p>Jak się można łatwo domyślić metoda ta wykorzystuje popularną bibliotekę JavaScript jQuery. Plugin pochodzi od twórcy znanego jQuery Cycle. Jego użycie jest banalnie proste, wystarczy do pliku html dołączyć bibliotekę jQuery, plik z pluginem i wywołać metodę:</p>
<p><code>$('#kanciasty').corner(rodzaj_rogu);<br />
</code></p>
<p>Gdzie <em>#kanciasty</em> to selektor elementu jakiemu chcemy zmienić rogi a <em>rodzaj_rogu</em><code> to jeden z typów krawędzi. Masę dem, oraz rodzajów rogów znajdziecie na <a title="jQuery Corner" href="http://jquery.malsup.com/corner/" target="_blank">stronie projektu</a>. Warto również zauważyć, że nie musimy ograniczać się tylko do zaokrągleń, opcji do wyboru jest mnóstwo.</code></p>
<p>&nbsp;</p>
<h3>Zalety</h3>
<ul>
<li>Działa na wszystkich graficznych przeglądarkach www,</li>
<li>Ogromna ilość wariacji i to dla każdego boku jednocześnie,</li>
<li>Nie wymaga ingerencji w kod strony.</li>
</ul>
<h3>Wady</h3>
<ul>
<li>Nie działa przy wyłączonej obsłudze JavaScript,</li>
<li>Przy bardziej wymyślnych kształtach zaśmieca kod.</li>
</ul>
<p>&nbsp;</p>
<p>&nbsp;</p>
<h2>Sposób czwarty &#8211; <a title="DD_roundies" href="http://www.dillerdesign.com/experiment/DD_roundies/" target="_blank">DD_roundies</a></h2>
<p>Nie będę się tutaj zbytnio rozpisywał. DD_roundies, jest to biblioteka, która korzysta z VML obsługiwanego przez IE oraz czystego JavaScript. Więcej o tej metodzie możecie przeczytać na blogu batman&#8217;a:  <a title="Batman Hello World!" href="http://blog.wilgucki.pl/2010/09/rubensowskie-ksztaty-na-stronie-czyli-o.html" target="_blank">Rubensowskie kształty na stronie, czyli o zaokrąglaniu rogów słów kilka</a>. Znajdziecie tam również proste demo.</p>
<p>&nbsp;</p>
<h3>Zalety</h3>
<ul>
<li>Działa na wszystkich graficznych przeglądarkach www,</li>
<li>Nie wymaga jQuery,</li>
<li>Stosuje rozwiązanie adekwatne do możliwości przeglądarki,</li>
<li>Nie wymaga ingerencji w kod strony.</li>
</ul>
<h3>Wady</h3>
<ul>
<li>Nie działa przy wyłączonej obsłudze JavaScript.</li>
</ul>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>To już wszystkie sposoby jakie chciałem wam przedstawić. Oczywiście nie są to wszystkie, brakuje chociażby metody obrazkowej, ale chciałem pokazać te według mnie najlepsze i najefektywniejsze <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/matkrzesz.wordpress.com/133/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/matkrzesz.wordpress.com/133/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/matkrzesz.wordpress.com/133/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/matkrzesz.wordpress.com/133/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/matkrzesz.wordpress.com/133/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/matkrzesz.wordpress.com/133/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/matkrzesz.wordpress.com/133/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/matkrzesz.wordpress.com/133/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/matkrzesz.wordpress.com/133/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/matkrzesz.wordpress.com/133/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/matkrzesz.wordpress.com/133/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/matkrzesz.wordpress.com/133/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/matkrzesz.wordpress.com/133/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/matkrzesz.wordpress.com/133/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=matkrzesz.wordpress.com&amp;blog=12031294&amp;post=133&amp;subd=matkrzesz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://matkrzesz.wordpress.com/2010/10/05/zaograglone-rogi-zbior-sposobow/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ed27cacac6643c2fb55a6d60f107886a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">matkrzesz</media:title>
		</media:content>

		<media:content url="http://matkrzesz.files.wordpress.com/2010/10/html_css_js.png" medium="image">
			<media:title type="html">html_css_js</media:title>
		</media:content>
	</item>
		<item>
		<title>Łatwy clear:both bez zbędnych znaczników</title>
		<link>http://matkrzesz.wordpress.com/2010/10/01/latwy-clearboth-bez-zbednych-znacznikow/</link>
		<comments>http://matkrzesz.wordpress.com/2010/10/01/latwy-clearboth-bez-zbednych-znacznikow/#comments</comments>
		<pubDate>Fri, 01 Oct 2010 16:52:44 +0000</pubDate>
		<dc:creator>matkrzesz</dc:creator>
				<category><![CDATA[(x)HTML i CSS]]></category>
		<category><![CDATA[Webmastering]]></category>
		<category><![CDATA[clear]]></category>
		<category><![CDATA[clear:both]]></category>
		<category><![CDATA[CSS]]></category>
		<category><![CDATA[float]]></category>

		<guid isPermaLink="false">http://matkrzesz.wordpress.com/?p=119</guid>
		<description><![CDATA[Tym razem pokażę wam, w jaki sposób wykorzystując sam CSS, wyclearować float&#8217;owane elementy bez dodawania zbędnych div&#8217;ów czy co tam jeszcze ktoś sobie wymyśli. Jedziemy Przypuśćmy, że posiadamy następujący kod html: &#60;div style="float:left"&#62;Blok float'owany&#60;/div&#62; &#60;div&#62;Tego już nie chcemy opływać.&#60;/div&#62; Normalnie w takim przypadku większość programistów wstawiłaby po pierwszym bloku następny, ze stylem clear:both. Istnieje jednak <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=matkrzesz.wordpress.com&amp;blog=12031294&amp;post=119&amp;subd=matkrzesz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://matkrzesz.files.wordpress.com/2010/10/css.png"><img class="alignleft size-full wp-image-124" title="css" src="http://matkrzesz.files.wordpress.com/2010/10/css.png?w=510" alt=""   /></a>Tym razem pokażę wam, w jaki sposób wykorzystując sam CSS, wyclearować float&#8217;owane elementy bez dodawania zbędnych div&#8217;ów czy co tam jeszcze ktoś sobie wymyśli. Jedziemy <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><span id="more-119"></span></p>
<p>Przypuśćmy, że posiadamy następujący kod html:</p>
<pre>&lt;div style="float:left"&gt;Blok float'owany&lt;/div&gt;
&lt;div&gt;Tego już nie chcemy opływać.&lt;/div&gt;</pre>
<p>Normalnie w takim przypadku większość programistów wstawiłaby po pierwszym bloku następny, ze stylem clear:both. Istnieje jednak łatwiejsza metoda.</p>
<p>W tym rozwiązaniu skorzystamy skorzystamy z pseudoklasy :after, żeby automatycznie wstawić za element z atrybutem float niewidoczną treść która nam wszystko ładnie wyclearuje.</p>
<p>Kod wygląda następująco:</p>
<pre>&lt;style type="text/css"&gt;

  .clear:after {
    content: ".";
    display: block;
    height: 0;
    clear: both;
    visibility: hidden;
    }

.clearfix {display: inline-block;}  /* hack dla IE pod Mac'iem */

&lt;/style&gt;
&lt;!--[if IE]&gt;  /* Hack dla IE */
&lt;style type="text/css"&gt;
  .clear {
    zoom: 1;
    display: block;
  }&lt;/style&gt;
&lt;![endif]--&gt;</pre>
<p>Teraz wystarczy do naszego div&#8217;a z ustawionym float dodać klasę .clear a powyższy kod doda za nim niewidzialną kropkę, która całkowicie rozwiąże problem zbędnych znaczników. Jedynym minusem jest wątpliwa obsługa tego kodu pod starszymi przeglądarkami, nawet pomimo zastosowanych przeze mnie hacków. No ale jeśli cały czas będziemy się oglądać do tyłu to nie pójdziemy na przód, takie życie <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<br /> Tagged: <a href='http://matkrzesz.wordpress.com/tag/clear/'>clear</a>, <a href='http://matkrzesz.wordpress.com/tag/clearboth/'>clear:both</a>, <a href='http://matkrzesz.wordpress.com/tag/css/'>CSS</a>, <a href='http://matkrzesz.wordpress.com/tag/float/'>float</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/matkrzesz.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/matkrzesz.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/matkrzesz.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/matkrzesz.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/matkrzesz.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/matkrzesz.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/matkrzesz.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/matkrzesz.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/matkrzesz.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/matkrzesz.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/matkrzesz.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/matkrzesz.wordpress.com/119/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/matkrzesz.wordpress.com/119/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/matkrzesz.wordpress.com/119/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=matkrzesz.wordpress.com&amp;blog=12031294&amp;post=119&amp;subd=matkrzesz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://matkrzesz.wordpress.com/2010/10/01/latwy-clearboth-bez-zbednych-znacznikow/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ed27cacac6643c2fb55a6d60f107886a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">matkrzesz</media:title>
		</media:content>

		<media:content url="http://matkrzesz.files.wordpress.com/2010/10/css.png" medium="image">
			<media:title type="html">css</media:title>
		</media:content>
	</item>
		<item>
		<title>.htaccess w praktyce – część trzecia – blokowanie dostępu</title>
		<link>http://matkrzesz.wordpress.com/2010/09/10/htaccess-w-praktyce-czesc-druga-blokowanie-dostepu/</link>
		<comments>http://matkrzesz.wordpress.com/2010/09/10/htaccess-w-praktyce-czesc-druga-blokowanie-dostepu/#comments</comments>
		<pubDate>Fri, 10 Sep 2010 18:38:26 +0000</pubDate>
		<dc:creator>matkrzesz</dc:creator>
				<category><![CDATA[Webmastering]]></category>
		<category><![CDATA[.htaccess]]></category>
		<category><![CDATA[blokowanie dostępu]]></category>

		<guid isPermaLink="false">http://matkrzesz.wordpress.com/?p=93</guid>
		<description><![CDATA[Czasami istnieje potrzeba aby zablokować dostęp do wybranych zasobów na stronie.  W tej części pokażę wam, jak za pomocą .htaccess uniemożliwić otwarcie całej strony, folderów lub pojedynczych plików. Ma to wiele przydatnych zastosowań, o których poniżej. Blokowanie dostępu do całej strony Na początek zajmiemy się całkowitym zablokowaniem strony, tak aby nikt nie mógł jej otworzyć. <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=matkrzesz.wordpress.com&amp;blog=12031294&amp;post=93&amp;subd=matkrzesz&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://matkrzesz.files.wordpress.com/2010/07/hta.png"><img class="size-full wp-image-86  alignleft" title="hta" src="http://matkrzesz.files.wordpress.com/2010/07/hta.png?w=510" alt=""   /></a>Czasami istnieje potrzeba aby zablokować dostęp do wybranych zasobów na stronie.  W tej części pokażę wam, jak za pomocą .htaccess uniemożliwić otwarcie całej strony, folderów lub pojedynczych plików. Ma to wiele przydatnych zastosowań, o których poniżej.</p>
<p><span id="more-93"></span></p>
<h2>Blokowanie dostępu do całej strony</h2>
<p>Na początek zajmiemy się całkowitym zablokowaniem strony, tak aby nikt nie mógł jej otworzyć. Aby to zrobić, wystarczy utworzyć plik .htaccess z poniższym kodem:</p>
<pre>Order allow,deny
Deny from all</pre>
<p>Następnie umieszczamy nasz pliczek w katalogu root&#8217;a. Jeśli nasz serwer obsługuje .htaccess to po wejściu na naszą stronę powinniśmy otrzymać błąd 403(access denied).</p>
<p>Jeśli chcielibyśmy udostępnić naszą stronę tylko osobom o danym ip to wystarczy zmienić nasz plik na:</p>
<pre>Order allow,deny
Allow from 101.102.103.104
Deny from all</pre>
<p>Dzięki temu wyłącznie osoba o ip podanym powyżej będzie mogła przeglądać witrynę.</p>
<h2>Blokowanie dostępu do folderów</h2>
<p>W tym wypadku, efekt jaki chcemy uzyskać to uniemożliwienie dostępu do wybranych przez nas folderów. Możemy to zrobić za pomocą dyrektywy &lt;Directory&gt;.</p>
<p>Aby dzięki niej zablokować dostęp do folderu o nazwie wazne_pliki umieszczamy plik z poniższym kodem w roocie:</p>
<pre>&lt;Directory /wazne_pliki/&gt;
Deny from all
&lt;/Directory&gt;</pre>
<p>Blokowanie dostępu do pojedynczych plików</p>
<p>Za powyższe odpowiedzialna jest z kolei dyrektywa &lt;Files&gt;. Składnia jest identyczna, przykład z zabezpieczeniem pliku .htaccess, o czym wielu programistów często zapomina:</p>
<pre>&lt;Files .htaccess&gt;
Deny from all
&lt;/Files&gt;</pre>
<p>To tyle, mam nadzieję, że mój post się komuś przyda i tradycyjnie zapraszam do komentowania <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<br /> Tagged: <a href='http://matkrzesz.wordpress.com/tag/htaccess/'>.htaccess</a>, <a href='http://matkrzesz.wordpress.com/tag/blokowanie-dostepu/'>blokowanie dostępu</a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/matkrzesz.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/matkrzesz.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/matkrzesz.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/matkrzesz.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/matkrzesz.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/matkrzesz.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/matkrzesz.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/matkrzesz.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/matkrzesz.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/matkrzesz.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/matkrzesz.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/matkrzesz.wordpress.com/93/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/matkrzesz.wordpress.com/93/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/matkrzesz.wordpress.com/93/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=matkrzesz.wordpress.com&amp;blog=12031294&amp;post=93&amp;subd=matkrzesz&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://matkrzesz.wordpress.com/2010/09/10/htaccess-w-praktyce-czesc-druga-blokowanie-dostepu/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/ed27cacac6643c2fb55a6d60f107886a?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">matkrzesz</media:title>
		</media:content>

		<media:content url="http://matkrzesz.files.wordpress.com/2010/07/hta.png" medium="image">
			<media:title type="html">hta</media:title>
		</media:content>
	</item>
	</channel>
</rss>
