صفحات `HTML`،ویدئوها، تصاویر فایل های جاوااسکریپت، `Feed`ها، ... هر یک مشخصه خاصی برای خود در وب دارند، ویژگی `Content-Type` که در هدر هر درخواست وب بازگردانده می شود مشخص کننده نوع محتوای بازگردانی شده است. بطور پیشفرض این ویژگی برابر`text/html` است که مشخص کننده محتوایی از نوع `HTML` است. گاه لازم است فایل‌های خاصی را درون `PHP` ایجاد کنیم و محتویات آن را برگردانیم، برای مثال در نظر بگیرید که قصد ساخت یک `RSS Feed` برای سایت خود دارید، در این صورت دیگر `text/html` مشخص کننده نوع محتوای شما نخواهد بود و لازم است آن را به `application/rss+xml` تغییر دهید.

در زیر لیستی از نحوه تعریف چند نوع محتوای مختلف در `PHP` را مشاهده می کنید.

`HTML`

header('Content-Type: text/html');
```
<h2>`CSS`</h2>
<pre><xmp class="prettyprint">header('Content-Type: text/css');
```
<h2>`JavaScript`</h2>
<pre><xmp class="prettyprint">header('Content-Type: text/javascript');
```
<h2>`Atom`</h2>
<pre><xmp class="prettyprint">header('Content-Type: application/atom+xml');
```
<h2>`Jpeg Image`</h2>
<pre><xmp class="prettyprint">header('Content-Type: image/jpeg');
```
<h2>`SVG Image`</h2>
<pre><xmp class="prettyprint">header('Content-Type: image/svg+xml');
```
<h2>`GIF Image`</h2>
<pre><xmp class="prettyprint">header('Content-Type: image/gif');
```
<h2>`Plain Text`</h2>
<pre><xmp class="prettyprint">header('Content-Type: text/plain');
```
<h2>`XML`</h2>
<pre><xmp class="prettyprint">header('Content-Type: text/xml');
```
<h2>`JSON`</h2>
<pre><xmp class="prettyprint"> header('Content-Type: application/json');
```
<h2>`PDF`</h2>
<pre><xmp class="prettyprint">header('Content-Type: application/pdf');
```
<h2>`RSS`</h2>
<pre><xmp class="prettyprint">header('Content-Type: application/rss+xml; charset=UTF-8');
```
<h2>`ZIP`</h2>
<pre><xmp class="prettyprint"> header('Content-Type: application/zip');
```

                </div>
            </section>


            <footer class="post-full-footer">


                    
<section class="author-card">
        <img class="author-profile-image" src="//www.gravatar.com/avatar/5194084c589fbf4b8f13d08fb0d7aa5a?s&#x3D;250&amp;d&#x3D;mm&amp;r&#x3D;x" alt="Ahad Birang" />
    <section class="author-card-content">
        <h4 class="author-card-name"><a href="/@farnabaz/">Ahad Birang</a></h4>
            <p>Read <a href="/@farnabaz/">more posts</a> by this author.</p>
    </section>
</section>
<div class="post-full-footer-right">
    <a class="author-card-button" href="/@farnabaz/">Read More</a>
</div>


            </footer>

            <div id="disqus_thread"></div>
            <script>

            /**
            *  RECOMMENDED CONFIGURATION VARIABLES: EDIT AND UNCOMMENT THE SECTION BELOW TO INSERT DYNAMIC VALUES FROM YOUR PLATFORM OR CMS.
            *  LEARN WHY DEFINING THESE VARIABLES IS IMPORTANT: https://disqus.com/admin/universalcode/#configuration-variables*/

            var disqus_config = function () {
            // this.page.url = PAGE_URL;  // Replace PAGE_URL with your page's canonical URL variable
            this.page.identifier = "ghost-cjl6j385b007lh0m2vbyybgtp"; // Replace PAGE_IDENTIFIER with your page's unique identifier variable
            };

            (function() { // DON'T EDIT BELOW THIS LINE
            var d = document, s = d.createElement('script');
            s.src = 'https://farnabaz.disqus.com/embed.js';
            s.setAttribute('data-timestamp', +new Date());
            (d.head || d.body).appendChild(s);
            })();
            </script>
            <noscript>Please enable JavaScript to view the <a href="https://disqus.com/?ref_noscript">comments powered by Disqus.</a></noscript>



        </article>

    </div>
</main>

<aside class="read-next outer">
    <div class="inner">
        <div class="read-next-feed">
                <article class="read-next-card"

                >
                    <header class="read-next-card-header">
                        <small class="read-next-card-header-sitetitle">&mdash; Farnabaz &mdash;</small>
                        <h3 class="read-next-card-header-title"><a href="/tags/php/">PHP</a></h3>
                    </header>
                    <div class="read-next-divider"><svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24"><path d="M13 14.5s2 3 5 3 5.5-2.463 5.5-5.5S21 6.5 18 6.5c-5 0-7 11-12 11C2.962 17.5.5 15.037.5 12S3 6.5 6 6.5s4.5 3.5 4.5 3.5"/></svg>
</div>
                    <div class="read-next-card-content">
                        <ul>
                            <li><a href="/@farnabaz/chndy-drmwrd-jwml/">چندی درمورد جوملا</a></li>
                            <li><a href="/@farnabaz/pdofetchkeypairpdofetchgroup/">PDO::FETCH_KEY_PAIR|PDO::FETCH_GROUP</a></li>
                            <li><a href="/@farnabaz/php-dhkhyrh-tswyr-khdhy-base64-bswrt-fyl/">PHP: ذخیره تصاویر کدهای base64 بصورت فایل</a></li>
                        </ul>
                    </div>
                    <footer class="read-next-card-footer">
                        <a href="/tags/php/">See all 30 posts →</a>
                    </footer>
                </article>

                <article class="post-card post tag-web tag-gwgl tag-google no-image">
    <div class="post-card-content">
        <a class="post-card-content-link" href="/@farnabaz/stykhrhy-mkhfy-cht-gwgl/">
            <header class="post-card-header">
                    <span class="post-card-tags">Web</span>
                <h2 class="post-card-title">استیکرهای مخفی چت گوگل</h2>
            </header>
            <section class="post-card-excerpt">
                <p>گوگل همیشه شرکتی بوده که ایده های جدید جذاب ارائه میده، یکی از این کاراهای بحال استیکرهای متحرک مخفی تو سیستم چت هنگ اوت هستند که خود من چند وقت پیش اتفاقی به</p>
            </section>
        </a>
        <footer class="post-card-meta">

            <ul class="author-list">
                <li class="author-list-item">

                    <div class="author-name-tooltip">
                        Ahad Birang
                    </div>

                        <a href="/@farnabaz/" class="static-avatar"><img class="author-profile-image" src="//www.gravatar.com/avatar/5194084c589fbf4b8f13d08fb0d7aa5a?s&#x3D;250&amp;d&#x3D;mm&amp;r&#x3D;x" alt="Ahad Birang" /></a>
                </li>
            </ul>

            <span class="reading-time">1 min read</span>

        </footer>
    </div>
</article>

                <article class="post-card post tag-mkh tag-terminal tag-mac tag-trmynl tag-android-file-transfer no-image">
    <div class="post-card-content">
        <a class="post-card-content-link" href="/@farnabaz/nh-bh-jry-khwdkhr-ndrwyd-fyl-trnsfr/">
            <header class="post-card-header">
                    <span class="post-card-tags">مک</span>
                <h2 class="post-card-title">نه به اجرای خودکار اندروید فایل ترنسفر</h2>
            </header>
            <section class="post-card-excerpt">
                <p>یکی از اتفاقاتی که اصلا برای من خوش‌آیند نیست اینه که برنامه‌ها بدلخواه خودشون اجرا بشن و بدتر از اون نشه روی اجرا شدن یا نشدن آنها مدیریت کرد،شوربختانه `Android</p>
            </section>
        </a>
        <footer class="post-card-meta">

            <ul class="author-list">
                <li class="author-list-item">

                    <div class="author-name-tooltip">
                        Ahad Birang
                    </div>

                        <a href="/@farnabaz/" class="static-avatar"><img class="author-profile-image" src="//www.gravatar.com/avatar/5194084c589fbf4b8f13d08fb0d7aa5a?s&#x3D;250&amp;d&#x3D;mm&amp;r&#x3D;x" alt="Ahad Birang" /></a>
                </li>
            </ul>

            <span class="reading-time">1 min read</span>

        </footer>
    </div>
</article>

        </div>
    </div>
</aside>

<div class="floating-header">
    <div class="floating-header-logo">
        <a href="https://farnabaz.ir">
                <img src="/content/images/2018/08/Icon-256.png" alt="Farnabaz icon" />
            <span>Farnabaz</span>
        </a>
    </div>
    <span class="floating-header-divider">&mdash;</span>
    <div class="floating-header-title">PHP: هدرهای مختلف برای کاربردهای مختلف</div>
    <div class="floating-header-share">
        <div class="floating-header-share-label">Share this <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 24 24">
    <path d="M7.5 15.5V4a1.5 1.5 0 1 1 3 0v4.5h2a1 1 0 0 1 1 1h2a1 1 0 0 1 1 1H18a1.5 1.5 0 0 1 1.5 1.5v3.099c0 .929-.13 1.854-.385 2.748L17.5 23.5h-9c-1.5-2-5.417-8.673-5.417-8.673a1.2 1.2 0 0 1 1.76-1.605L7.5 15.5zm6-6v2m-3-3.5v3.5m6-1v2"/>
</svg>
</div>
        <a class="floating-header-share-tw" href="https://twitter.com/share?text=PHP%3A%20%D9%87%D8%AF%D8%B1%D9%87%D8%A7%DB%8C%20%D9%85%D8%AE%D8%AA%D9%84%D9%81%20%D8%A8%D8%B1%D8%A7%DB%8C%20%DA%A9%D8%A7%D8%B1%D8%A8%D8%B1%D8%AF%D9%87%D8%A7%DB%8C%20%D9%85%D8%AE%D8%AA%D9%84%D9%81&amp;url=https://farnabaz.ir/@farnabaz/php-hdrhy-mkhtlf-bry-khrbrdhy-mkhtlf/"
            onclick="window.open(this.href, 'share-twitter', 'width=550,height=235');return false;">
            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path d="M30.063 7.313c-.813 1.125-1.75 2.125-2.875 2.938v.75c0 1.563-.188 3.125-.688 4.625a15.088 15.088 0 0 1-2.063 4.438c-.875 1.438-2 2.688-3.25 3.813a15.015 15.015 0 0 1-4.625 2.563c-1.813.688-3.75 1-5.75 1-3.25 0-6.188-.875-8.875-2.625.438.063.875.125 1.375.125 2.688 0 5.063-.875 7.188-2.5-1.25 0-2.375-.375-3.375-1.125s-1.688-1.688-2.063-2.875c.438.063.813.125 1.125.125.5 0 1-.063 1.5-.25-1.313-.25-2.438-.938-3.313-1.938a5.673 5.673 0 0 1-1.313-3.688v-.063c.813.438 1.688.688 2.625.688a5.228 5.228 0 0 1-1.875-2c-.5-.875-.688-1.813-.688-2.75 0-1.063.25-2.063.75-2.938 1.438 1.75 3.188 3.188 5.25 4.25s4.313 1.688 6.688 1.813a5.579 5.579 0 0 1 1.5-5.438c1.125-1.125 2.5-1.688 4.125-1.688s3.063.625 4.188 1.813a11.48 11.48 0 0 0 3.688-1.375c-.438 1.375-1.313 2.438-2.563 3.188 1.125-.125 2.188-.438 3.313-.875z"/></svg>
        </a>
        <a class="floating-header-share-fb" href="https://www.facebook.com/sharer/sharer.php?u=https://farnabaz.ir/@farnabaz/php-hdrhy-mkhtlf-bry-khrbrdhy-mkhtlf/"
            onclick="window.open(this.href, 'share-facebook','width=580,height=296');return false;">
            <svg xmlns="http://www.w3.org/2000/svg" viewBox="0 0 32 32"><path d="M19 6h5V0h-5c-3.86 0-7 3.14-7 7v3H8v6h4v16h6V16h5l1-6h-6V7c0-.542.458-1 1-1z"/></svg>
        </a>
    </div>
    <progress id="reading-progress" class="progress" value="0">
        <div class="progress-container">
            <span class="progress-bar"></span>
        </div>
    </progress>
</div>




        <footer class="site-footer outer">
            <div class="site-footer-content inner">
                <section class="copyright"><a href="https://farnabaz.ir">Farnabaz</a> &copy; ۲۰۱۸</section>
                <nav class="site-footer-nav">
                    <a href="https://farnabaz.ir">Latest Posts</a>
                    
                    <a href="https://twitter.com/a_birang" target="_blank" rel="noopener">Twitter</a>
                    <a href="https://ghost.org" target="_blank" rel="noopener">Ghost</a>
                </nav>
            </div>
        </footer>

    </div>


    <script
        src="https://code.jquery.com/jquery-3.2.1.min.js"
        integrity="sha256-hwg4gsxgFZhOsEEamdOYGBf13FyQuiTwlAQgxVSNgt4="
        crossorigin="anonymous">
    </script>
    <script type="text/javascript" src="/assets/js/jquery.fitvids.js?v=b930aedc09"></script>


    <script>

// NOTE: Scroll performance is poor in Safari
// - this appears to be due to the events firing much more slowly in Safari.
//   Dropping the scroll event and using only a raf loop results in smoother
//   scrolling but continuous processing even when not scrolling
$(document).ready(function () {
    // Start fitVids
    var $postContent = $(".post-full-content");
    $postContent.fitVids();
    // End fitVids

    var progressBar = document.querySelector('#reading-progress');
    var header = document.querySelector('.floating-header');
    var title = document.querySelector('.post-full-title');

    var lastScrollY = window.scrollY;
    var lastWindowHeight = window.innerHeight;
    var lastDocumentHeight = $(document).height();
    var ticking = false;

    function onScroll() {
        lastScrollY = window.scrollY;
        requestTick();
    }

    function onResize() {
        lastWindowHeight = window.innerHeight;
        lastDocumentHeight = $(document).height();
        requestTick();
    }

    function requestTick() {
        if (!ticking) {
            requestAnimationFrame(update);
        }
        ticking = true;
    }

    function update() {
        var trigger = title.getBoundingClientRect().top + window.scrollY;
        var triggerOffset = title.offsetHeight + 35;
        var progressMax = lastDocumentHeight - lastWindowHeight;

        // show/hide floating header
        if (lastScrollY >= trigger + triggerOffset) {
            header.classList.add('floating-active');
        } else {
            header.classList.remove('floating-active');
        }

        progressBar.setAttribute('max', progressMax);
        progressBar.setAttribute('value', lastScrollY);

        ticking = false;
    }

    window.addEventListener('scroll', onScroll, {passive: true});
    window.addEventListener('resize', onResize, false);

    update();

});
</script>


    

</body>
</html>