2011-12-29 73 views
2

我想寫一個相當簡單的PHP腳本,允許用戶輸入他們的電子郵件地址,上傳文件,並輸入另一個人的電子郵件地址。上傳文件後,它會通過電子郵件向兩個人發送一個URL以下載該文件。可選的密碼可能很好。尋找一個簡單的PHP文件上傳(和下載)腳本

這是爲了解決電子郵件附件大小限制。我知道有互聯網服務要做到這一點,但我希望文件上傳到我的服務器和我的其他安全控制。

只是想知道有沒有人知道一個簡單的腳本已經存在這樣做?

回答

2

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> 
+0

這看起來很有趣,但我一直沒能找到一個簡單的工作示例代碼庫與當前v從他們的網站ersion。我沒有看到檔案中的任何內容,並且谷歌顯示了一些例子,但我無法讓他們使用當前版本。 – 2012-01-06 12:52:00

+0

我個人在我的一個WordPress插件中使用它(目前正在開發中,但將在GitHub上公開發布)。查看我的編輯,上面有一些演示代碼。 – 2012-01-06 13:27:34

0

另一個簡單的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>"; 
    ?>