簡體   English   中英

如何讓用戶顯示他們已上傳的文件

[英]How to let users display the files they have uploaded

我有用於正常上傳文件的代碼。 將文件上傳到數據庫時,我從另一個數據庫獲取上傳者的用戶名。 我也有一個頁面,其中我顯示所有上傳的文件,並且工作正常。 現在,我想擁有一個頁面,用戶可以在其中僅顯示自己上傳的文件並可以刪除它們的文件。 我將如何處理?

文件上傳頁面:

<?php
include 'template/overall/header.php';
?>

<br><br>
<div class="row">
<div class="large-12 medium-12 small-12 columns" style="background-color: #000000; text-align: center">
    <ul class="side-nav"  style="background-color: #EEEEEE; border: 1px solid white;">
        <h2>Ladda upp en fil</h2>

        <br><br>
        <form action="add_file.php" method="POST" enctype="multipart/form-data">
        <div class="large-12 medium-12 small-12 columns" style="padding-left: 39%">
        <input type="file" name="file" value="Bläddra">
        </div>
        <br><br>
        <div class="large-12 medium-12 small-12 columns" style="padding-left: 41.5%; width: 60%">
        <input type="submit" name="upload_file" value="Ladda upp">
        </div>
        </form>
        <br><br><br><p>Gå tillbaka till <a href="filer.php">filer</a></p>   <br><br>
    </ul>
</div>
</div>
<?php
if(isset($_GET['success']))
{
    ?>
    <br><br><br>
    <h2 style="text-align: center; color: #FFFFFF">Din uppladdning lyckades!</h2>
    <br>
    <p style="text-align: center; color: #FFFFFF; font-size: 120%">Klicka <a href="filer.php">här</a> för att se din fil</a></p>
    <?php
}
else if(isset($_GET['fail']))
{
    ?>
    <br><br><br>
    <h2 style="text-align: center; color: #FFFFFF">Problem vid uppladning av fil!</h2>
    <?php
}
else
{
    ?>
    <br><br><br>
    <h2 style="text-align: center; color: #FFFFFF">Testa att ladda upp en fil(PDF, DOC, EXE, VIDEO, MP3, ZIP,etc...)</h2>
    <p style="text-align: center; color: #FFFFFF; font-size:120%">Om du laddar upp en stor fil som en film tex vänligen komprimerar till rar</p>
    <?php
}
include 'template/overall/footer.php';
?>

文件處理頁面:

<?php
include 'core/init.php'; 
if(isset($_POST['upload_file']))
{    

$file = rand(1000,100000)."-".$_FILES['file']['name'];
$file_loc = $_FILES['file']['tmp_name'];
$file_size = $_FILES['file']['size'];
$file_type = $_FILES['file']['type'];
$folder="filer/mina_filer/";

// new file size in KB
$new_size = $file_size/1024;  
// new file size in KB

// make file name in lower case
$new_file_name = strtolower($file);
// make file name in lower case

$final_file=str_replace(' ','-',$new_file_name);

/*if (isset($_POST['upload_file'])) {
$session_user_id = $_SESSION['id'];
$user_id = $user_data['id'];
$query = mysql_query("INSERT INTO file(user_name) SELECT `userName` FROM `users` WHERE `id` = $user_id");
} */

if (isset($_POST['upload_file'])) {
        $folder = 'filer/mina_filer/';
        $session_user_id = $_SESSION['id'];
        $user_name = $user_data['userName'];
        move_uploaded_file($file_loc,$folder.$final_file);
        $sql="INSERT INTO file(file, user_name, type, size, folder) VALUES('$final_file', '$user_name', '$file_type', '$new_size', '$folder')";
        mysql_query($sql);
        ?>
        <script>
        alert('uppladdning lyckades!');
        window.location.href='ladda_fil.php?success';
        </script>
        <?php
}
else
{
    ?>
    <script>
    alert('Error när filen laddades upp!');
    window.location.href='ladda_fil.php?fail';
    </script>
    <?php
}
}
?>

我想要一個類似的頁面,該頁面將顯示用戶上傳的文件,並且顯示表將包含一個X,用於刪除文件。 顯示所有文件的頁面:

<?php
include 'template/overall/header.php';?>
<div class="large-12 medium-12 columns">
<table width="60%" border="1" align="center">
<tr>
<th colspan="4"><label style="text-align: center"><b>Uppladdade filer</b></label><label style="text-align: center"><a href="ladda_fil.php"> Ladda upp en ny fil</a></label></th>
</tr>
<tr>
<td>Fil Namn</td>
<td>Fil Typ</td>
<td>Fil Storlek(KB)</td>
<td>Uppladdad av</td>
<td>Öppna</td>
</tr>
<?php
$sql="SELECT * FROM file";
$result_set=mysql_query($sql);
while($row=mysql_fetch_array($result_set))
{
    ?>
    <tr>
    <td><?php echo $row['file'] ?></td>
    <td><?php echo $row['type'] ?></td>
    <td><?php echo $row['size'] ?></td>
    <td><?php echo $row['user_name'] ?></td>
    <td><a href="filer/mina_filer/<?php echo $row['file'] ?>" target="_blank">Öppna fil</a></td>
    </tr>
    <?php
}
?>
</table>
</div>

<?php
include 'template/overall/footer.php'; 
?>

步驟1)您必須使用SQL命令來查找用戶上傳的所有文件:

$sql="SELECT * FROM file WHERE user_name=".$YOURUSERNAME;

步驟2)在單獨的php文件中使用此PHP代碼(例如:php_del.php)刪除文件:

$filename=$_GET['filename'];
if (file_exists("filer/mina_filer/".$filename)
    unlink("filer/mina_filer/".$filename);

步驟3)像這樣將超鏈接添加到首頁:

<a href="php_del.php?filename=<?php echo $row['file'] ?>"</a>

注意:確保文件名在$ _GET方法中沒有空格(“”)。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM