[英]why doesn't my file upload script work?
你看到这里有什么问题吗? 我什么都找不到。
打印:
echo $_FILES["new_text_file"]["name"];
这也是:
echo $_FILES["new_text_file"]["tmp_name"];
PHP:
“; echo $ _FILES [” new_text_file“] [” tmp_name“]; //将文本文件上传到服务器
if(move_uploaded_file($_FILES["new_text_file"]["tmp_name"]), $_FILES["new_text_file"]["name"])
{
//header('Location: ga-dev-exercise-pavan.php');
echo 'worked';
}else {
echo 'did not work';
}
}
?>
HTML:
<form enctype="multipart/form-data" action="ga-dev-exercise-pavan.php" method="POST">
Choose a text file you want to upload and search through:
<input type='file' name='new_text_file'>
<input type="hidden" name="submit_yes_file" value="true" />
<br /><br />
<input type="submit" value="upload">
</form>
您应该指定目标路径
$target_path = "uploads/";
$target_path = $target_path . basename( $_FILES['uploadedfile']['name']);
if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
echo "The file ". basename( $_FILES['uploadedfile']['name']).
" has been uploaded";
} else{
echo "There was an error uploading the file, please try again!";
}
http://www.tizag.com/phpT/fileupload.php
编辑:如注释中所述,括号放错了位置:
错误的:
if(move_uploaded_file($ _ FILES [“ new_text_file”] [“ tmp_name”]),$ _FILES [“ new_text_file”] [“ name”])
正确
if(move_uploaded_file($ _ FILES [“ new_text_file”] [“ tmp_name”],$ _FILES [“ new_text_file”] [“ name”]))
您不会自动被允许将上载的文件移动到任何地方。 您需要将其移动到您的PHP脚本具有写权限的位置。
所以例如
$src = $_FILES["new_text_file"]["tmp_name"];
$dst = './tmp_dir/'.basename($_FILES["new_text_file"]["name"]);
if (move_uploaded_file($src, $dst))
{
basename
可以防止用户指定恶意文件路径(对重复的文件名不执行任何操作), tmp_dir
是您可以写入的目录。
使用$src
和$dst
清除了一些代码,让我看到您的示例中有一个额外的括号...
括号不对了。 应该是这样的:
if(move_uploaded_file($_FILES["new_text_file"]["tmp_name"], $_FILES["new_text_file"]["name"]))
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.