我有一个代码,我在其中选择图像,然后输入要创建的目录名称以保存该图像。此后,一旦单击按钮,应在给定路径中创建目录,并将文件保存在其中。下面是我正在使用的代码:<form enctype="multipart/form-data" action="upload.php" method="POST"> <input type="hidden" name="MAX_FILE_SIZE" value="512000" /> Send this file: <input name="userfile" type="file"/> <input type="text" name="idtest" value=<?php echo $idtest; ?> > <input type="submit" value="Send File" multiple/></form>上传.php<?php $uploaddir = 'G:/dataset/' . $idtest; $uploadfile = $uploaddir . basename($_FILES['userfile']['name']) ; echo $uploadfile;?>在上面的代码中,我没有包含我仍然需要处理的创建目录部分。现在理想情况下,变量idtest应该附加uploaddir变量,所以每当我打印uploadfile最后一个目录的值时,应该是我在文本框中输入的那个。但它不起作用。任何人都可以请说明为什么它不起作用。谢谢
1 回答
POPMUISE
TA贡献1765条经验 获得超5个赞
试试这个上传脚本。根据您的评论,似乎第一个问题是在表单中输入的目录名称没有添加到完整uploadfile路径中。您需要idtest先从$_POST变量中获取。我还建议使用move_uploaded_file来移动上传的文件。
上传.php
<?php
$uploaddir = 'G:/dataset/' . $_POST['idtest'];
// check if directory exists
if(!is_dir($uploaddir)){
mkdir($uploaddir);
}
$uploadfile = $uploaddir ."/". basename($_FILES['userfile']['name']) ;
echo $uploadfile;
move_uploaded_file($_FILES['userfile']['tmp_name'],$uploadfile);
?>
出于安全原因,请确保正确的表单验证和文件名检查,但这超出了本答案的范围。正如其他评论者所提到的,确保文件系统权限设置为允许写入G:/dataset/.
- 1 回答
- 0 关注
- 112 浏览
添加回答
举报
0/150
提交
取消