首页 > 解决方案 > 文件未作为 .zip 保存在数据库中

问题描述

我的上传表单只允许人们上传 .zip 和 .rar 文件。我想确保每当用户上传他/她的文件时,它将作为 zip 文件插入到数据库中。

到目前为止,我所做的是将数据库中的类型更改为 varbinary。我还插入带有$fileName变量的文件。

我的代码:

<?php

$ftp_server = "myserver";
$ftp_user_name = "myuser";
$ftp_user_pass = "mypass";
$source_file = $_FILES['file']['tmp_name'];
$fileName = $_FILES['file']['name'];
$fileType = $_FILES['file']['type'];
// get de bestand extensie
$path_parts = pathinfo($_FILES["file"]["name"]); 
$extension = $path_parts['extension'];
$fileExt = explode('.', $fileName);
$fileActualExt = strtolower(end($fileExt));
$destination_folder = "/public_html/wp/wp-content/plugins/AbonneerProgrammas/FilesUpload";
$destination_file = $destination_folder . "/" . basename($_FILES['file']['name']);
$conn_id = ftp_connect($ftp_server);
// login with username and password
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass); 
ftp_pasv($conn_id, true); 

// some code for the connection and only allowing .zip and .rar files.

if (!$upload) { 
    echo "Er is iets fout gegaan, excuses voor het ongemak";
} else {

    // insert data in de database
    global $wpdb;
     $number_of_rows_inserted = $wpdb->insert('wpex_programma', [
     'naam' => $fileName]);

      var_dump($number_of_rows_inserted);

这会将数据插入数据库中,然后显示以下内容:

在此处输入图像描述

如您所见,它以 .zip 格式插入。但是,当我单击它时,它会显示以下消息:

在此处输入图像描述

它不会将其下载为 .zip 文件,而是下载为 .bin。我该如何解决?

提前致谢。

标签: phpdatabasephpmyadminzip

解决方案


推荐阅读