通过选择文件获取PHP应用程序中的文件名和文件目录

时间:2016-05-31 12:57:11

标签: php file browser

我目前正在创建一个PHP应用程序,我想在MySQL数据库中插入excel表中的数据。到目前为止我已经完成了,但问题是,excel文件需要位于根目录中。我正在寻找的是一个按钮,我可以浏览文件,并从中获取名称和目录。有什么建议吗?

目前我只使用$fileName="gefertigt.xlsx";

我尝试使用JavaScript(来自this教程),但由于我是初学者,这对我来说很难。

2 个答案:

答案 0 :(得分:0)

PHP文件系统有两个函数basename()dirname(),它们分别给出文件名和目录。因此,你的答案是:

function get_name_and_directory($file) {
    return array(
        'name' => basename($file),
        'directory' => dirname($file)
    );
}

答案 1 :(得分:0)

所以我为我的问题找到了一个很好的解决方案,这比我想象的要安静得多。我没有获取文件的目录,而是将文件上传到名为" uploads"的文件夹中。在我的根目录中。由于我知道该文件(始终是.xlsx文件)将始终相同,但始终使用新内容,因此它将使用上传文件替换文件夹上载中的当前文件。

html中的代码:

<form action="dbconnection.php" method="post" enctype="multipart/form-data">
        Datei auswaehlen
        <input type="file" name="dateiHochladen" id="dateiHochladen">
        <input type="submit" value="Hochladen" name="submit">
    </form>
php中的

代码:

$target_dir = "uploads/";
        $target_file = $target_dir . basename($_FILES["dateiHochladen"]["name"]);
        $uploadOk = 1;
        $imageFileType = pathinfo($target_file,PATHINFO_EXTENSION);
        if(move_uploaded_file($_FILES["dateiHochladen"]["tmp_name"], $target_file)) {
            echo "The file ". basename( $_FILES["dateiHochladen"]["name"]). " wurde hochgeladen.";
        } else {
            echo "Fehler beim hochladen.";
        }