繁体   English   中英

如何使用php创建目录并在其中保存图像

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM