2012-03-01 57 views
0

閱讀thisthis(和一百萬人)後,我很困惑!PHP在客戶端創建/發送文件,無需用戶輸入

我不知道是否有可能使一個用戶加載一個頁面(在鉻或火狐),將創建/寫入文件並將其發送到用戶機器(即在用戶計算機上)後運行的PHP腳本(或JavaScript)客戶端),但不需要任何用戶輸入,也不需要用戶注意!

注意:我沒有做任何非法的事情,我只需要做一個沙盒的安全評估,以及它是否允許這樣的事情!

感謝邁克爾 -

+0

任何瀏覽器都會這樣做,如果它有某種緩存的話。但我想你對某些tmp-dirs中的臨時文件不感興趣。你想在用戶機器上用這個文件做什麼?也許你對html5的網頁緩存感興趣。 – Basti 2012-03-01 14:37:19

+0

@Basti謝謝你的回覆!我沒有實際執行任何事情!我只是想知道,例如,瀏覽器將允許您創建一個.txt文件在客戶端的桌面! – mixkat 2012-03-01 14:43:08

+1

問題仍然是你想在用戶的機器上的文件做什麼?也許我們可以提供符合您需求的不同解決方案,並且不會違反安全聲明。 – Basti 2012-03-01 14:45:39

回答

1

這是不可能的

編輯一些更多的背景

如果你認爲PHP可以訪問瀏覽器,還是能做到的東西那裏,這意味着您對PHP/HTML/JS和瀏覽器如何交互有基本的理解。

因此,首先試着理解瀏覽器爲什麼不理解PHP,甚至不知道PHP在服務器上運行。如果你想了解web開發的任何事情,這是非常重要的。

Javascript更容易解釋.. Javascript與各種功能,對象和API的工作,使您可以在瀏覽器中做'東西'。 JavaScript中根本沒有API來訪問文件系統(原因很充分)。

現在去買一本PHP書吧!

+1

因爲PHP在服務器上執行,您無法在客戶端使用PHP進行任何操作。你不能在用戶的機器上使用JavaScript創建任意文件,因爲這會帶來巨大的安全風險,並且沒有人會希望某些隨機網站能夠混淆你的文件。 – Basti 2012-03-01 14:43:43

+1

@Evert顯然我不是很清楚我的問題!不需要粗魯的配偶!我知道php運行在服務器上,顯然你可以用它創建和寫入文件,但問題是你創建的這些文件是否可以以某種方式傳遞給另一端,而無需用戶做任何事情或瀏覽器理解/顯示它!換句話說,如果您可以在用戶加載頁面時以隱身方式將這些文件傳遞給用戶。關於js我包含在我的文章中的第二個鏈接似乎有一個類似的例子,但用戶可以絕對看到下載! – mixkat 2012-03-01 15:23:17

+0

對不起,我沒有意識到這可能會遇到粗魯,它的意思是很好玩。 簡而言之,沒有API,它有一個很好的理由。你還有什麼需要知道的?你知道爲什麼它不被允許(安全)。沒有更多的擴展在這 – Evert 2012-03-01 18:14:00