【问题标题】:Looking for a simple php file upload (and download) script寻找一个简单的php文件上传(和下载)脚本
【发布时间】:2011-12-29 20:18:30
【问题描述】:

我正在考虑编写一个相当简单的 php 脚本,允许用户输入他们的电子邮件地址、上传文件和输入另一个人的电子邮件地址。文件上传后,它会通过电子邮件向双方发送一个 URL 以下载该文件。一个可选的密码可能会很好。

这是为了解决电子邮件附件大小限制。我知道有互联网服务可以执行此操作,但我希望将文件上传到我的服务器并在我的其他安全控制范围内。

只是想知道是否有人知道一个已经存在的简单脚本来执行此操作?

【问题讨论】:

    标签: php file-upload


    【解决方案1】:

    Uploadify (http://www.uploadify.com) 是一个用于文件上传的开源解决方案。

    [编辑] 这是 Uploadify 的一些演示代码:

    <script type="text/javascript">
    $(function() {
       $('#file_upload').uploadify({
              'uploader'  : '/uploadify/uploadify.swf',
              'script'    : '/uploadify/uploadify.php',
              'cancelImg' : '/uploadify/cancel.png',
              'folder'    : '/uploads',
              'removeCompleted' : true,
              'sizeLimit'   : 102400
           });              
        });
    </script>
    
    <div class="demo-box">
       <input id="file_upload" type="file" name="Filedata" />
       <p><a href="javascript:$('#file_upload').uploadifyUpload()">UploadFiles</a></p>        </div>
    </div>
    

    【讨论】:

    • 这看起来很有趣,但我无法从他们的网站上找到适用于当前版本的简单工作示例代码库。我在存档中没有看到任何内容,谷歌显示了几个示例,但我无法让它们与当前版本一起使用。
    • 我个人在我的一个 WordPress 插件中使用它(目前正在开发中,但将在 GitHub 上开源)。请参阅我上面的编辑,了解他们的演示中的一些代码。
    【解决方案2】:

    另一个简单的php文件上传脚本,带密码保护:
    (创建yourfile.php 并插入以下代码。然后将 yourfile.php 放在您的网站上)

    <?php
    $pass = "YOUR_PASSWORD";
    session_start();
    ?>
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd">
    <html><head><meta http-equiv="Content-Type" content="text/html; charset=windows-1256" /></head><body>
    <?php
    if (!empty($_GET['action']) &&  $_GET['action'] == "logout") {session_destroy();unset ($_SESSION['pass']);}
    
    $path_name = pathinfo($_SERVER['PHP_SELF']);
    $this_script = $path_name['basename'];
    if (empty($_SESSION['pass'])) {$_SESSION['pass']='';}
    if (empty($_POST['pass'])) {$_POST['pass']='';}
    if ( $_SESSION['pass']!== $pass) 
    {
        if ($_POST['pass'] == $pass) {$_SESSION['pass'] = $pass; }
        else 
        {
            echo '<form action="'.$_SERVER['PHP_SELF'].'" method="post"><input name="pass" type="password"><input type="submit"></form>';
            exit;
        }
    }
    ?>
    
    
    <form enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="POST">
    Please choose a file: <input name="file" type="file" /><br />
    <input type="submit" value="Upload" /></form>
    
    
    <?php 
    
    if (!empty($_FILES["file"]))
    {
        if ($_FILES["file"]["error"] > 0)
           {echo "Error: " . $_FILES["file"]["error"] . "<br>";}
        else
           {echo "Stored file:".$_FILES["file"]["name"]."<br/>Size:".($_FILES["file"]["size"]/1024)." kB<br/>";
           move_uploaded_file($_FILES["file"]["tmp_name"],$_FILES["file"]["name"]);
           }
    }
    
        // open this directory 
        $myDirectory = opendir(".");
        // get each entry
        while($entryName = readdir($myDirectory)) {$dirArray[] = $entryName;} closedir($myDirectory);
        $indexCount = count($dirArray);
            echo "$indexCount files<br/>";
        sort($dirArray);
    
        echo "<TABLE border=1 cellpadding=5 cellspacing=0 class=whitelinks><TR><TH>Filename</TH><th>Filetype</th><th>Filesize</th></TR>\n";
    
            for($index=0; $index < $indexCount; $index++) 
            {
                if (substr("$dirArray[$index]", 0, 1) != ".")
                {
                echo "<TR>
                <td><a href=\"$dirArray[$index]\">$dirArray[$index]</a></td>
                <td>".filetype($dirArray[$index])."</td>
                <td>".filesize($dirArray[$index])."</td>
                    </TR>";
                }
            }
        echo "</TABLE>";
        ?>
    

    【讨论】:

      猜你喜欢
      • 2012-08-31
      • 1970-01-01
      • 2014-03-23
      • 1970-01-01
      • 2016-04-06
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多