2013-05-31 43 views
-1

這是一個非常開放的,也許簡單的問題,爲此,我提前道歉,以創建一個網頁。使用PHP沒有讀訪問

我試圖創建一個網頁,其中包含一個鏈接(或按鈕或其他),這將創造另一個網頁(使用生成的頁面時稱爲服務器安裝程序)。問題是,該服務器解釋,由於用戶試圖寫的目錄,並且用戶不必爲我的樹有寫權限。創建該頁面還可以輸出到stddout,但是我正在尋找某種方式的功能有功能生成頁面,並將其加載到瀏覽器中,同時拒絕用戶(以及因此網頁)寫目錄的訪問權限。

任何意見將不勝感激。作爲參考,我使用的程序被稱爲Pygments,我試圖在點擊按鈕時生成顏色編碼的網頁。 Pygments默認寫入stddout,但實際上通常用於生成隨後加載的HTML文件。

+0

如果你並不需要保存的頁面,你爲什麼要試圖寫的目錄?爲什麼不把HTML輸出到瀏覽器? – Axel

+0

你爲什麼每次都生成一個文件?爲什麼不通過PHP將類添加到html標籤中,並使用CSS來更改顏色? – dudewad

回答

0

有一個生成頁面的腳本和一個將不存在頁面的請求引導到所述腳本的.htaccess文件。例如:您的文件夾看起來像:

myfolder/ 
    .htaccess 
    index.php 

的.htaccess:

RewriteEngine on 
RewriteCond %{REQUEST_FILENAME} !-f #this rule skips the rewrite if the requested file actually exists 
RewriteCond %{REQUEST_FILENAME} !-d #this rule skips the rewrite if the requested directory actually exists 
RewriteRule ^(.*)$ index.php?req=$1 [L,QSA] 

的index.php

<?php 
if(!isset($_GET['req'])) { 
    die("no page requested."); 
    // or whatever you want the default to be... 
} 

switch($_POST['req']) { 
    case 'dogs.html': 
    echo "dogs!"; 
    break; 
    case 'cats.html': 
    echo "cats!"; 
    break; 
    default: 
    echo "I don't know about that..."; 
} 

,所以你可以要求http://mysite.com/myfolder/cats.html而無需實際寫入一個文件到目錄。