作爲跟進Javascript form won't submit(查看我使用的代碼,請訪問該鏈接)的一小部分,我現在遇到一個問題,我找不到已上傳的文件。無法移動/罰款APC上傳的文件
我已經加入$files = apc_fetch('files_'.$_POST['APC_UPLOAD_PROGRESS']);
我網頁的頂部,這是print_r($files);
Array
(
[theFile] => Array
(
[name] => tt1.mp4
[type] => video/mp4
[tmp_name] => /tmp/php2BEvy7
[error] => 0
[size] => 1050290
)
)
的輸出。然而,當我嘗試運行下面的代碼:
if (file_exists($files['theFile']['tmp_name'])) {
$webinarType = strcmp($files['theFile']['type'], 'video/mp4');
if($webinarType == 0) {
$webinarFile = $fileTitle;
$webinarTempName = $files['theFile']['tmp_name'];
} else {
echo 'Webinar must be .mp4';
}
} else {
echo "No File";
}
我得到的No File
輸出。
我有ssh'd到服務器和該文件不在/tmp/
,/path/to/public_html/tmp/
或path/to/file/tmp/
所有這些都存在。
我曾嘗試使用move_uploaded_file()
,但因爲這是對所有file
輸入執行我不能得到動態的tmp_name
由於我有限的JavaScript的知識。
tl; dr version;我的文件在哪裏,我怎麼找到它?
注意;這種形式在APC干預之前就已經開始工作,並且我正在運行wordpress以防萬一。
永遠不要相信客戶端發送的MIME類型。它很容易被僞造。 – Corbin
正式指出,但[現場]頁面是隱藏給任何人,但僱員。更重要的是阻止他們上傳pdf來代替視頻,並確保所述視頻是iCompatible。 – Joshua