[英]How to create directory and save image in it using php
我有一个代码,在其中选择一个图像,然后输入要创建的目录名称以保存该图像。 此后,一旦单击按钮,应在给定路径中创建目录,并应将文件保存在其中。
以下是我正在使用的代码:
<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>
upload.php
<?php
$uploaddir = 'G:/dataset/' . $idtest;
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']) ;
echo $uploadfile;
?>
在上面的代码中,我没有包含仍必须处理的创建目录部分。 现在最好的变量idtest
应该被附加uploaddir
变量所以每当我打印的价值uploadfile
最后一个目录应该是我在文本框中输入的一个。 但是它不起作用。 谁能解释一下为什么它不起作用。 谢谢
试试这个上传脚本。 根据您的评论,似乎第一个问题是在表单中输入的目录名称未添加到完整的uploadfile
路径中。 您首先需要从$_POST
变量中获取idtest
。 我还建议使用move_uploaded_file移动上载的文件。
upload.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/
。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.