dku*_*tz2 2 php windows easyphp
我在$ _FILES的处理页面上遇到索引未找到错误.据我所知,我的代码在技术上是正确的(至少其他两个看过它的人也找不到任何错误).
首先,调用的函数显示带有文件上载的表单:
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>';
}
Run Code Online (Sandbox Code Playgroud)
(将其视为具有表单的页面调用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);
}
Run Code Online (Sandbox Code Playgroud)
我不知道为什么这不起作用,我在编写你自己的上传脚本时看到的每一个资源都使用几乎完全相同的代码.
您需要将其添加到表单中:
enctype='multipart/form-data'
Run Code Online (Sandbox Code Playgroud)
所以你的表单标签变成:
echo "<form method=\"post\" enctype='multipart/form-data' action=\"" . siteurl . "/manage/update.php\">";
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
305 次 |
| 最近记录: |