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'每次都會是一個空陣列,您需要一種方法來獲取之前上傳的視頻。 –