首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >我正在尝试制作一个在线音乐库,管理员将能够上传音乐文件。

我正在尝试制作一个在线音乐库,管理员将能够上传音乐文件。
EN

Stack Overflow用户
提问于 2016-04-02 18:32:00
回答 1查看 43关注 0票数 1

我将.mp3文件的路径存储在数据库中,但是当上传文件时,实际的文件并不是上传,而是名称和用户信息。这是编码

代码语言:javascript
复制
<?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文件在“歌曲”文件夹中没有处理。

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2016-04-02 18:45:38

当您通过POST向PHP提交文件时,必须使用$_FILES来获取文件,而不是$_POST。

在您的示例中,要访问该文件及其属性,应使用:

代码语言:javascript
复制
$fi = $_FILES["sonsor"]

它是一个关联数组,表示上传到字段中的文件,其名称为sonsor

现在,要完成上传,您很可能希望将临时文件移动到特定的目录,并根据数据库中的内容重命名它。PHP推荐move_uploaded_file()

代码语言:javascript
复制
move_uploaded_file($fi["tmp_name"], $target_path)

如果该方法工作正常,则返回true。建议进行更多的安全检查;以查看W3Schools为例。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36377241

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档