2013-03-25 46 views
0

首先,我已經做了很多的研究,而且這些解決方案都不適用於我。我的問題似乎更具體一些。強制將html代碼下載爲一個文件(PHP,jQuery)

我有一個html頁面,我正在生成一個html內容(更具體地說,它是一個從用戶的Dropbox帳戶加載圖像的畫廊)。

這將是一個巨大的隱私問題庫存儲在服務器上,所以我需要的HTML代碼直接保存到一個文件中用戶的計算機上。

我嘗試了兩種主要的解決方案:

1)一個PHP文件 - 我不認爲這是可能做到這一點,因爲頁面將重新加載,然後html代碼丟失

2)獨立html(登錄到Dropbox,生成圖庫)和php(保存)文件 - 似乎不可能通過ajax將圖庫代碼發送到php文件。

有什麼想法嗎?

這是一個相當開放的問題,我的主要目標是想出一個隱私意識的解決方案,以便用戶可以保存它,而不必懷疑我是否保留他或她的數據。

一個想法,例如:將圖庫保存爲一個文件(我知道如何做這部分),並在文件下載後刪除它?

+0

您應該能夠生成文件並將其輸出,而不必將其保存在服務器上。 Coldfusion可以做到這一點,我很確定PHP也可以。 – 2013-03-25 15:00:29

+0

@KevinB在我的具體情況下,似乎在PHP中是不可能的。這只是一個學習/提高PHP/jQuery知識的小項目。我想Python也可能是一個選項... – Stefan 2013-03-26 13:11:59

+0

其實我似乎有另一個問題。我嘗試了很多方法來強制HTML代碼直接下載。似乎還有另外一個問題,或許需要在PHP配置中進行更改......或者引用某人「可能是關於您的系統上的文件創建的事情」。 我沒有足夠的時間真正尋找解決方案,但這可能會起作用(編輯.htaccess文件): http://stackoverflow.com/questions/1465573/forcing-to-download-a- file-using-php – Stefan 2013-04-02 10:18:20

回答

1

我將它保存到服務器,然後使用PHP下載文件。如果您需要將其刪除,請執行此操作。

$fp = fopen ("http://www.example.com/yourfile.html", "r"); 

while (!feof ($fp)) 
{ 
    $buffer = fgets($fp, 4096); 
    echo $buffer; 
} 

fclose ($fp); 
+0

謝謝。這似乎是唯一的選擇,我只需要研究刪除文件的方式(是否可以檢測它是否被下載等)。 我還是不喜歡這個解決方案,所以我想等着看有沒有人能拿出任何東西。 – Stefan 2013-03-25 14:10:02