2016-03-12 69 views
0
我目前使用的是上傳CSV文件,但我使用的PATHINFO_EXTENSION代碼,以防止任何其他類型的文件

提交(文件比其他類型的.csv)導入文件到MySQL數據庫,並使用PATHINFO_EXTENSION

這是代碼(與HTML):

http://pastebin.com/m8eNXAgE

我有以下問題:

==>我最初使用$文件= $ _FILES [ 'CSV'] [ 'tmp_name的值'];但基名隨機上前和擴展是一個名爲.tmp甚至認爲我上傳的文件是一個.csv 然後我把它改爲$文件= $ _FILES [「CSV」] [「名」];但我得到了以下錯誤:

警告:fopen(computing.csv):未能打開流:沒有這樣的文件或目錄在... 警告:fgetcsv()期望參數1是資源, ...

請任何人都可以解釋和幫助問題的代碼是什麼,我一直在尋找了一段時間,並不能似乎找到一個解決方案。

任何幫助表示讚賞,謝謝。

+0

您可以用'的var_dump($ _ FILES)'爲檢查你的文件數組。和我fink'$ _FILES ['文件']'因爲你輸入名稱文件'
'和郵政編碼問題 – Naumov

回答

0

你應該真正使用$ _FILES [ 'CSV'] [ 'tmp_name的值'。這是PHP在服務器上分配給上傳文件的名稱。你可以在這裏閱讀更多:http://php.net/manual/en/features.file-upload.php

+0

當我使用$ _FILES ['csv'] ['tmp_name']我只得到一個隨機文件名和一個.tmp擴展名,而不是原始文件的文件名和擴展名。我想檢查原始文件的擴展名,以確保它的一個.csv – Redrooster46

+0

如果您想驗證上傳的文件具有「csv」擴展名,但是當您想要實際訪問該文件,則應該使用「name」你需要通過「tmp_name」來訪問它,因爲這是存儲它的地方(至少在你將它複製到別處之前)... – obe

相關問題