我将.mp3文件的路径存储在数据库中,但是当上传文件时,实际的文件并不是上传,而是名称和用户信息。这是编码
<?php
if($_POST[ins])
{
@mkdir("songs");
$spath="songs/".time()."-".$_FILES[sonsor][name];
copy($_FILES[sonsor][tmp_name],$spath);
$son="insert into `songs` values('','$_POST[sonam]','$_POST[soalmoi]','$spath')";
//echo $s;
mysql_query($son);
header("location:songs.php?");//action=show&msg=va
}
?>
<form method="POST" action="" enctype="multipart/form-data">
<table>
<tr>
<td>Song Name</td>
<td><input type="text" name="sonam"></td>
</tr>
<tr>
<td>Album/Movie</td>
<td><input type="text" name="soalmoi"></td>
</tr>
<tr>
<td>Song File</td>
<td><input type="file" name="sonsor"></td>
</tr>
<tr>
<td><input type="submit" name="ins"></td>
</tr>
</table>
</form>文件路径正在更新,但实际的.mp3文件在“歌曲”文件夹中没有处理。
发布于 2016-04-02 18:45:38
当您通过POST向PHP提交文件时,必须使用$_FILES来获取文件,而不是$_POST。
在您的示例中,要访问该文件及其属性,应使用:
$fi = $_FILES["sonsor"]它是一个关联数组,表示上传到字段中的文件,其名称为sonsor。
现在,要完成上传,您很可能希望将临时文件移动到特定的目录,并根据数据库中的内容重命名它。PHP推荐move_uploaded_file()
move_uploaded_file($fi["tmp_name"], $target_path)如果该方法工作正常,则返回true。建议进行更多的安全检查;以查看W3Schools为例。
https://stackoverflow.com/questions/36377241
复制相似问题