猿问

如何修复PHP表单重定向以将文件上传到服务器

请帮忙。我正在尝试使用php和javascript创建拖放文件上传器,但是当我单击上传文件时,php文件显示以下错误:此页面无法正常运行localhost当前无法处理此请求。HTTP错误500


这是我的html的正文。


<body>

        <div class="wrapper">

            <div class="upload-console">

                <h2 class="upload-console-header">Upload</h2>


                <div class="upload-console-body">

                    <h3>Select files from your computer</h3>

                    <form action="upload.php" method="post" enctype="multipart/form-data">

                        <input type="file" name="files[]" id="standard-upload-files" multiple>

                        <input type="submit" value="Upload files" id="standard-upload">

                    </form>


                    <h3>Or drag and drop files below</h3>

                    <div class="upload-console-drop" id="drop-zone">

                        Just drag and drop files here

                    </div>


                    <div class="bar">

                        <div class="bar-fill" id="bar-fill">

                            <div class="bar-fill-text" id="bar-fill-text"></div>

                        </div>

                    </div>


                    <div id="uploads-finished" class="hidden">

                        <h3>Processed files</h3>

                    </div>      

                </div>

            </div>

        </div>

        <script src="js/upload.js"></script>

        <script src="js/global.js"></script>

    </body>

这是我的upload.php文件。


<?php

    header('Content-Type: application/json');


    $allowed = ['mp4','png','jpg'];

    $processed = [];


图片似乎正在上传,但是出现500错误页面。我正在尝试让它获得进度条以显示进度,并更改隐藏的类以显示下载的文件。但是它重定向到uploads.php,错误为500。谢谢你。


所有的HTML和JS可以看出这里的codepen。


撒科打诨
浏览 179回答 2
2回答

开满天机

您的表单将重定向到其中的“操作”,在您的情况下为upload.php-如果要停止其重定向,则需要添加php重定向:&nbsp;header("Location: mypage.php");以返回上一页。如果页面是动态的并且您不知道它是什么mypage.php,请在表单中添加一个隐藏的输入,然后使用页面名称作为此值。编辑:抱歉,这仍然不能解决您的问题-上面的重定向将用于执行脚本时。500错误是由于代码中的错误所致。此错误(在你的意见通过@克里斯白提到)是echo json_encoded($processed);&nbsp;这应该是&nbsp;echo json_encode($processed);

心有法竹

用json_encode替换json_encoded编辑:刚意识到有人已经回答了..我的建议是使用某种IDE,我在不到一秒钟的时间内发现了它。IDE高亮语法错误
随时随地看视频慕课网APP
我要回答