Php 文件未以.zip格式保存在数据库中
我的上传表单只允许人们上传.zip和.rar文件。我想确保每当用户上传他/她的文件时,它都会作为zip文件插入到数据库中 到目前为止,我所做的是将数据库中的类型更改为varbinary。我还插入了带有Php 文件未以.zip格式保存在数据库中,php,database,phpmyadmin,zip,Php,Database,Phpmyadmin,Zip,我的上传表单只允许人们上传.zip和.rar文件。我想确保每当用户上传他/她的文件时,它都会作为zip文件插入到数据库中 到目前为止,我所做的是将数据库中的类型更改为varbinary。我还插入了带有$fileName变量的文件 我的代码: <?php $ftp_server = "myserver"; $ftp_user_name = "myuser"; $ftp_user_pass = "mypass"; $source_file = $_FILES['file']['tmp_nam
$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);
当你点击什么,确切地说?看起来您正在将文件名插入数据库。当我点击数据库中的P7_03_uitwerking.zip时,文件本身保存在哪里。当用户上传文件时,它最终会保存在远程ftp服务器和数据库中(我现在尝试的是后者)。您可以看到所有文件保存在$destination\u文件夹
变量中的路径@大卫:“我现在正在尝试的是后一个”——看起来你正在倒退尝试。在尝试将文件保存到数据库之前,您正在尝试从数据库下载该文件。现在您只需保存文件名。查看对$wpdb->insert()
的调用。传递给它的唯一参数是文件名。通常,这种方法是只在数据库中存储对文件的引用,而不是文件本身。要存储文件本身,您可能需要先对其进行Base64编码。您没有单击“数据库”中的任何内容,这种措辞甚至没有任何意义。这是phpMyAdmin(数据库管理前端)为您提供的功能。如果您不喜欢它的工作方式,那么您将不得不去做一些研究,看看它是否可以以某种方式配置,如果不能,请编写您自己的功能来提供这样的下载。(或者意识到,在大多数正常情况下,文件并不真正属于数据库…@JohanDelft:是的,这是可能的。通常推荐的方法是将文件保存在文件系统上,并将文件路径保存在数据库中。然后在应用程序中使用数据库数据创建指向文件的链接。理想情况下,这些链接将指向一个PHP脚本,并为数据库记录提供一个标识符。该脚本将使用标识符从数据库中获取记录,并使用该记录中的路径将文件流式传输给用户。DB记录还可以包括文件名、MIME类型、大小等内容。