Php 以表单上传图像和视频,并在mysql中存储数据
我试图制作一个表单,用于上传图片和视频,并使用mysql中的特定id重命名它们 数据存储在mysql中,图片正在上传,但视频没有上传。谁能告诉我哪里错了吗 表格编号:Php 以表单上传图像和视频,并在mysql中存储数据,php,mysql,forms,upload,Php,Mysql,Forms,Upload,我试图制作一个表单,用于上传图片和视频,并使用mysql中的特定id重命名它们 数据存储在mysql中,图片正在上传,但视频没有上传。谁能告诉我哪里错了吗 表格编号: <form id='adaugaanunt' name='add-item' method='post' action='add_in_video.php' enctype='multipart/form-data' onsubmit="return jcap();"> <div class='conta
<form id='adaugaanunt' name='add-item' method='post' action='add_in_video.php' enctype='multipart/form-data' onsubmit="return jcap();">
<div class='container'>
<label for='titlu' >*Titlu:</label><br />
<input name='titlu' required='required' placeholder='ex. Vand ceas ROLEX' type='text' class='input required' /></div><br />
<div class='container'>
<label for='descriere' >*Descriere:</label><br />
<input name='descriere' required='required' placeholder='ex. Vand ceas ROLEX cu luminite' type='text' class='input required' /></div><br />
<div class='container'>
<label for='pic1' >Poza: </label><br />
<input name='pic1' type='file' /><br />
</div><br />
<div class='container'>
<label for='vid1' >Video: </label><br />
<input name='vid1' type='file' /><br />
</div><br />
<div class='container' style="float:right"><input name='submit' type='submit' value='Trimite' /></div>
<div class='container' style="float:left"><input type="reset" name="Reseteaza" value="Reseteaza"></div>
</form>
*标题:
*描述:
波扎:
视频:
在_video.php中添加_
<?php include 'include/global.php';
$titlu = str_replace("'","`",$_POST['titlu']);
$cere = "SELECT * FROM `video` WHERE titlu='".$titlu."'";
$rez = mysql_query($cere);
$cnt = mysql_num_rows($rez);
if ($cnt == 0) {
$title = htmlentities($titlu);
$descriere = htmlentities($_POST['descriere']);
$cerereSQL = "INSERT INTO `video` (`id` , `titlu`, `descriere`)
VALUES ('', '$titlu', '$descriere')";
//echo $cerereSQL;
$result_insert_user = mysql_query($cerereSQL);
if (file_exists("../videos/".mysql_insert_id()."a.jpg"))
{
unlink("../videos/".mysql_insert_id()."a.jpg");
}
if (file_exists("../videos/".mysql_insert_id()."b.avi"))
{
unlink("../videos/".mysql_insert_id()."b.avi");
}
if ($_FILES["pic1"]["name"] != "") {
if (($_FILES["pic1"]["type"] == "image/gif") || ($_FILES["pic1"]["type"] == "image/jpeg") || ($_FILES["pic1"]["type"] == "image/pjpeg") || ($_FILES["pic1"]["type"] == "image/bmp"))
{
if ($_FILES["pic1"]["error"] > 0)
{
echo "A intervenit o eroare: " . $_FILES["pic1"]["error"] . "<br />";
}
else
{
if (file_exists("../videos/" . $_FILES["pic1"]["tmp_name"]))
{
echo "Poza exista deja";
}
else
{
move_uploaded_file($_FILES["pic1"]["tmp_name"], "../videos/".mysql_insert_id()."a.jpg");
}
}
}
else
{
header('Location: '.$domain.'index.php');
exit;
}
}
if ($_FILES["vid1"]["name"] != "") {
$allowedExts = array("wmv","avi","mpeg","mpg", "mp4");
$extension = end(explode(".", $_FILES["vid1"]["name"]));
if ((($_FILES["vid1"]["type"] == "video/mp4") || ($_FILES["vid1"]["type"] == "video/wmv") || ($_FILES["vid1"]["type"] == "video/mpg") || ($_FILES["vid1"]["type"] == "video/mpeg")) && in_array($extension, $allowedExts))
{
if ($_FILES["vid1"]["error"] > 0)
{
echo "A intervenit o eroare: " . $_FILES["vid1"]["error"] . "<br />";
}
else
{
if (file_exists("../videos/" . $_FILES["vid1"]["tmp_name"]))
{
echo "Acest video exista deja";
}
else
{
move_uploaded_file($_FILES["vid1"]["tmp_name"], "../videos/".mysql_insert_id()."b.avi");
}
}
}
else
{
header('Location: '.$domain.'index.php');
exit;
}
}
} else {
header('Location: '.$domain.'index.php');
exit;
}
?>
确保错误代码实际上为零(这是文件不存在的第一个原因)。如果不为零,则可以找到有关错误代码的信息
您应该检查move\u上传的\u文件的返回值:
$tmp_name = $_FILES["vid1"]["tmp_name"];
$name = "../videos/" . mysql_insert_id() . "b.avi";
if(!move_uploaded_file($tmp_name, $name)){
print "Could not move file $tmp_name to $name<br>";
} else {
print "Successfully copied files<br>";
}
$tmp_name=$_文件[“vid1”][“tmp_name”];
$name=“../videos/”。mysql\u insert\u id()。“b.avi”;
如果(!move_上传的文件($tmp_name,$name)){
打印“无法将文件$tmp_name移动到$name
”;
}否则{
打印“成功复制文件
”;
}
move_uploaded_文件调用中可能出现错误,随后的警告被PHP抑制
您可以通过调用error\u reporting(E\u all)打印所有错误/警告/消息代码>在脚本的开头。这里有更多关于错误报告的信息-你希望我们尝试调试的代码有很多格式不好的代码,你需要为我们缩小这个范围。当你到达错误行“a interferit o eroare:”时$_文件[“pic1”][“error”]”或者文件只是没有上传?为什么要将实际的图像/视频存储在mysql中?将其存储在CDN或Amazon S3之类的东西中效率更高。