0
我试图做一个PHP站点上传文件(在这种情况下的视频)并显示它们。我试图将它们存储在一个数组中,然后将它们显示在页面上。问题是,该页面仅显示上传的最后一个视频,即该阵列仅存储上次上传的文件。我怎样才能让数组存储第一个上传的文件$array[0]
,第二个$array[1]
,等等......然后显示它们?使用PHP中的数组显示上传的文件
这里是我的代码(HTML格式)
<form action="upload.php" method="POST" enctype="multipart/form-data">
<p>Video to Upload: <br> <input type="file" name="video" /></p>
<p><input type="submit" name="Submit" value="Submit" /></p></form>
PHP代码(upload.php
)
<?php
$videoname = $_FILES["video"]["name"];
$tmp_name = $_FILES["video"]["tmp_name"];
$thevideos = array();
if (isset($videoname))
{
if (!empty($videoname))
{
$location = 'uploaded/';
move_uploaded_file($tmp_name, $location.$videoname);
$thevideos[] = $videoname; // the array is only storing $videoname in $the videos[0]??
for ($i = 0; $i <= count($thevideos); $i++)
{
echo "<video width=\"320\" height=\"240\" controls>
<source src=\"/uploaded/" .$thevideos[$i]. "\">
</video> <br>";
}
}
else
{
echo "Please choose a file.";
}
}
?>
请注意,您允许任何人上传PHP/ASP/CGI /和其他脚本文件,因此可以上传shell并销毁您的服务器 - 查看您的所有文件 - 查看您的所有源代码 - 您的数据库凭据 - 等等等等等等。 – h2ooooooo
我完全意识到,一旦程序按其应有的方式运行,我会提出限制。 – user3037589
那么,用户一次只能上传一个视频?你想显示所有以前的上传? '$ thevideos'每次都会是一个空阵列,您需要一种方法来获取之前上传的视频。 –