Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/272.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
无法将pdf文件上载到mysql数据库并使用PHP检索它?_Php_Mysql_Mysqli_Phpmyadmin_Mysql Workbench - Fatal编程技术网

无法将pdf文件上载到mysql数据库并使用PHP检索它?

无法将pdf文件上载到mysql数据库并使用PHP检索它?,php,mysql,mysqli,phpmyadmin,mysql-workbench,Php,Mysql,Mysqli,Phpmyadmin,Mysql Workbench,我正在尝试使用MySql和PHP将pdf文件上载到数据库中,但只有jpeg/png等图像存储在数据库中。我未能将pdf文件上载到数据库并检索它。这是我的HTML代码和表单- <form id="form" name="form" onsubmit="return validate()" action="http://localhost:81/wordpress/wp-content/themes/themify-ultra/submit.php" enctype="multipart/fo

我正在尝试使用MySql和PHP将pdf文件上载到数据库中,但只有jpeg/png等图像存储在数据库中。我未能将pdf文件上载到数据库并检索它。这是我的HTML代码和表单-

<form id="form" name="form" onsubmit="return validate()" action="http://localhost:81/wordpress/wp-content/themes/themify-ultra/submit.php" enctype="multipart/form-data" method="POST">
                    <div class="form-row">
                        <div class="name">Name</div>
                        <div class="value">
                            <div class="input-group">
                                <input class="input--style-5" type="text" name="name" required>
                            </div>
                        </div>
                    </div>
                    <div class="form-row">
                        <div class="name">Email</div>
                        <div class="value">
                            <div class="input-group">
                                <input class="input--style-5" type="email" name="email" required>
                            </div>
                        </div>
                    </div>

                    <div class="form-row">
                        <div class="name">Phone</div>
                        <div class="value">
                            <div class="input-group">
                                <input class="input--style-5" type="number" name="contact" required>
                            </div>
                        </div>
                    </div>


                    <div class="form-row">
                        <div class="name">Upload Your Resume</div>
                        <div class="value">
                            <div class="input-group">
                                <input class="input--style-5" type="file" name="myfile">
                            </div>
                        </div>
                    </div>
                    <div>
                        <button class="btn" name="btn" type="submit">Submit</button>
                    </div>
                </form>

名称
电子邮件
电话
上传你的简历
提交
验证函数如下所示-


函数验证()
{ 
var name=document.forms[“form”][“name”];
var email=document.forms[“form”][“email”];
var phone=document.forms[“form”][“contact”];
var resume=document.forms[“form”][“myfile”];
如果(name.value==“”)
{ 
window.alert(“请输入您的姓名”);
name.focus();
返回false;
} 
如果(email.value==“”)
{ 
window.alert(“请输入有效的电子邮件地址”);
email.focus();
返回false;
} 
if(email.value.indexOf(“@”,0)<0)
{ 
window.alert(“请输入有效的电子邮件地址”);
email.focus();
返回false;
} 
if(email.value.indexOf(“.”,0)<0)
{ 
window.alert(“请输入有效的电子邮件地址”);
email.focus();
返回false;
} 
如果(phone.value==“”)
{ 
窗口提示(“请输入您的电话号码”);
phone.focus();
返回false;
} 
如果(resume.value==“”)
{
提醒(“请上传你的简历”);
resume.focus();
返回false;
}
返回true;
}
问题

  • 要存储文件内容的列的大小和数据类型是什么?您不能使用较小长度的大型内容。有时,这才是真正的问题,而不是代码本身
  • 为什么不将文件内容转换为十六进制,然后保存到数据库中?比如:
    $data=file\u get\u contents($\u FILES['myfile']['tmp\u name']);
    $hexa=bin2hex($data);
    
    。然后,在PHP中使用文件流检索存储的十六进制后,您可以再次创建该文件

  • 希望能有所帮助。

    请粘贴上面
    validate()
    的内容。对不起,我忘记粘贴了。现在,您可以看到它。未能存储在DB中,这是否意味着pdf文件已上载到服务器?我想将其上载到数据库中,然后我想像我现在对jpeg/png这样的图像所做的那样检索。您将其上载到服务器的磁盘空间,然后将该图像文件/url存储到DB中。您的文件是否超过5mb?也许这就是文件没有上传的原因之一?我认为您应该修改php.ini以允许更大的文件。请看。或者,如果您知道如何使用.htaccess,也可以为您的文件上载问题提供良好的支持。是的,我已将数据类型更改为LongBlob。它起作用了。