2017-05-03 53 views
0

所以這就是我想要做的: 我試圖能夠從一個PHP文件中獲取CSS,JS和HTML文件我想回聲他們在php文件,並將文件中的類型設置爲所需的類型ex:如果是js文件,則將類型設置爲text/javascript如果它的css將類型設置爲text/css即時通訊doc類型btw頁面類型,標題類型。我不知道它叫什麼,但我希望瀏覽器將其解釋爲文件類型,即使它在技術上是html。
我有一些代碼輸入了..
請求和閱讀任何文件類型與PHP

<?php 
if (isset($_GET['name'])) { 
    if (isset($_GET['type'])) { 
     if ($_GET['type'] === 'javascript') { 
      header('Content-type: text/javascript; charset: UTF-8'); 
      $file = $_GET['name'].'.js'; 
      $execjs = file_get_contents($file); 
     } 
    } elseif ($_GET['type'] === 'css') { 
     header('Content-type: text/css; charset: UTF-8'); 
     $file = $_GET['name'].'.css'; 
     $execcss = file_get_contents($file); 
    } 
} if ($execjs === 'false') { 
    echo 'js 404'; 
} elseif ($execcss === 'false') { 
    echo 'css404'; 
} 
?> 

但這並不爲2文件類型的工作,我選擇了,它採用$_GET['name'] (Name in the query string)和​​獲取文件名和文件類型,我也想拍它普遍的,因此它可以讀取幾乎任何類型的文件,前 js, css, php, html, xml, png, ico, jpg
我明白,這可能是很難做到的,我只是需要一些啓動代碼,讓我跟你去上建立文件

+0

您應該按照[這裏]所述使用finfo_file(https://stackoverflow.com/questions/4966045/how-to-get-mime-type-of-a-file-to-be-downloaded)。 – mblaner

回答

1

什麼類似:

<?php 

$name = $_GET['name']; 
$type = $_GET['type']; 
if (!isset($name)) { 
    die(); 
} 
if (!isset($type)) { 
    die(); 
} 
switch ($type) { 
    case "javascript": 
    $header = 'Content-type: text/javascript; charset: UTF-8'; 
    $file = $name.'.js'; 
    break; 
    case "css": 
    $header = 'Content-type: text/css; charset: UTF-8'; 
    $file = $name.'.css'; 
    break; 
    case "php": 
    $header = 'Content-type: text/html; charset: UTF-8'; 
    $file = $name.'.html'; 
    break; 
} 
$execfile = file_get_contents($file); 
if ($execfile === false) { 
    header('Content-type: text/html; charset: UTF-8'); 
    echo $type.' 404'; 
} else { 
    header($header); 
    echo $execfile; 
} 
?> 
+0

這個工作大部分是在聲明一個變量
'$ name = $ _GET ['name']'
後面的幾個語法錯誤,在這個字符串的末尾必須有一個分號(;),否則它會觸發一個錯誤。如果(!isset($ name **)**){'
也是我假設的服務器找到該文件,否則它會按照指定返回一個404,但它不會列出該文件的內容,並且我想知道當存在404時,頭文件類型是否可以設置爲「text/html」? –

+0

@Donovan_D請參閱更新後的代碼 – supajason

+0

在'if($ execfile === false){'需要'header('Content-type:text/html; charset:UTF-8')'成爲一個半colin在這個結尾和在CSS頭裏它說'text/javascript'這個需要是'text/css'(對不起,只是推薦修復使它工作)它會讀取所有的代碼 –