我已經創建了一個PHP腳本來上傳文件,不幸的是我沒有權限保存磁盤上的文件。我必須上傳一個excel文件(使用phpexcel),然後我必須讀取文件中的所有行並保存到磁盤,有沒有辦法讓我在不保存到磁盤的情況下處理這個文件,我試圖讀取$_FILES['file1']['tmp_name']
,但它不起作用。使用上傳的文件而不保存到服務器磁盤
可以ü請建議處理此文件
謝謝你的考慮
我已經創建了一個PHP腳本來上傳文件,不幸的是我沒有權限保存磁盤上的文件。我必須上傳一個excel文件(使用phpexcel),然後我必須讀取文件中的所有行並保存到磁盤,有沒有辦法讓我在不保存到磁盤的情況下處理這個文件,我試圖讀取$_FILES['file1']['tmp_name']
,但它不起作用。使用上傳的文件而不保存到服務器磁盤
可以ü請建議處理此文件
謝謝你的考慮
通過一種方法「保存到磁盤」你的意思是發回給用戶爲他下載了嗎?
通常情況下,您應具有對(至少)PHP臨時目錄的寫入訪問權限。您是否嘗試過表單和腳本是否在本地環境中工作?也許上傳有什麼問題呢?!
終於:爲什麼所以你沒有保存文件的權限?你允許在你的PHP文件(通過FTP)下面創建一個子目錄,並給這個完整的權限?
+1:這裏的「爲什麼」是一個重要的問題。這聽起來像是一個嚴重的錯誤配置。 – 2010-08-07 10:04:30
我試圖讀取$ _FILES [ '文件1'] [ 'tmp_name的值']
最有可能你遇到了錯誤。
發生在初學者程序員經常發生的問題
您必須修復該錯誤,而不是尋找奇怪的解決方法。從檢查$_FILES['file1']['error']
是什麼
var_dump($_FILES['file1']['error']);
說
開始?
「新手程序員」的評論可能不是每個人的口味,但這是一個非常有建設性的答案。爲什麼downvote? – 2010-08-07 10:31:33
如果一個單詞「newbie」聽起來很粗魯,我可以將其改爲任何政治上正確的術語。 – 2010-08-07 10:34:03
我個人不認爲這很粗魯,但也許有人過分敏感。那個,還是一個復仇的下場者。對這些不能做任何事...... – 2010-08-07 11:01:56
您可以使用HTTP PUT方法向您的服務器發送含有少量JavaScript的文件,而不用發送表單(通過HTTP POST發送多個數據)。
這種情況在PHP的官方文檔 - >PUT method support中有描述。
由於文檔中描述的一些限制,您必須採取一些解決方法才能正常工作。
您可以從Web服務器讀取直接輸入流。數據將從您的Web服務器傳送到您的PHP程序,並且只會保存在內存中。 用jQuery做PUT Ajax調用的回答是here。您可以使用像Uploadify這樣的jQuery上傳插件。
哈哈,這真的有幫助答案:) – 2010-08-07 12:09:26
這是什麼意思。我的回答有什麼問題? – DrDol 2010-08-07 12:14:01
您不允許在服務器上的任何位置保存數據?爲什麼?這聽起來像一個錯誤的配置。 – 2010-08-07 10:02:48
你需要更具體。編程是關於細節的。正如Pekka所說,告訴我們爲什麼你「沒有權限將文件保存在磁盤上」。另外,當你說「它不起作用」。它怎麼不工作?請描述其行爲,列出所有錯誤消息或其他輸出。幫助我們來幫助你。 – APC 2010-08-08 08:14:39