我在$ _FILES的處理頁面上找到索引找不到錯誤。據我所知,我的代碼在技術上是正確的(至少其他兩位查看它的人也無法找到任何錯誤)。PHP文件上傳
因此,首先,被稱爲與文件上傳顯示錶單功能:
function portfolioEditor($p) {
echo "<form method=\"post\" action=\"" . siteurl . "/manage/update.php\">";
echo '<input type="text" name="name" id="name" class="grid4 first" value="' . $p['name'] . '" />';
echo '<input type="text" name="posttype" id="posttype" class="grid4" value="' . $p['posttype'] . '" />';
echo "\n<br />\n";
echo '<textarea name="content" id="content" class="grid8 first">' . $p['content'] . '</textarea>';
echo "\n<br />\n";
echo '<input type="hidden" name="MAX_FILE_SIZE" value="30000" />';
echo '<input name="file" value="' . $p['image'] . '" id="file" type="file" />';
echo '<input type="submit" value="Submit" name="submit" id="submit" />';
echo '<input type="hidden" value="true" id="fileup" name="fileup" />';
echo '</form>';
}
(把它作爲一個給定的,與表單的頁面調用portfolioEditor($ P)與$細節p滿的,或爲新項目的每一個資源我的空格。)
這是插入更新頁面(不含數據庫還)
$p = $_POST;
$p['url'] = str_replace(" ", "-", $p['name']);
foreach ($p as $k => $v) {
$p[$k] = addslashes($v);
//echo $v;
}
// FILE UPLOAD IF NEEDED
if(isset($p['fileup']) && $p['fileup'] == "true") {
$loc = sitepath . "/files";
$loc = $loc . basename($_FILES['file']['name']);
move_uploaded_file($_FILES['file']['tmp_name'], $loc);
}
我不知道爲什麼這是不工作, v在編寫自己的上傳腳本時看到使用幾乎完全相同的代碼。
它看起來像你試圖設置'文件'類型輸入的'值'。由於安全問題,瀏覽器不應該允許這樣做。 – Entity 2011-04-21 13:12:20