帮助PHP上传和文件管理器脚本

时间:2010-12-25 05:54:33

标签: php mysql file-upload upload file-browser

我正在尝试创建一个具有基本文件上传按钮和表单功能的脚本。我还试图创建一个脚本,它将是一个文件管理器,包含表单中的所有输入数据。

表单布局:

浏览(按钮)---->单击时会提示用户仅上载pdf文件。

文件名(表格):---->用户必须输入文件名

简要说明(表格):---->用户必须对其文件进行简要描述

上传(按钮):---->点击此按钮后,文件将上传到我的Web服务器,并发送到名为“files”的文件夹。

文件浏览器布局:

文件浏览器将是一个表格,显示使用上一个表格上传的所有文件。表格中的每一列都会显示文件的大小,并在“文件名称”和“简要说明”中显示上传者发布的信息

我的猜测是我需要某种SQL数据库来存储表单信息。然后我需要创建一个显示存储信息的文件浏览器。我不知道该怎么做这个任务。我非常感谢你的帮助或想法。谢谢你的时间。

1 个答案:

答案 0 :(得分:0)

我刚刚在没有检查错误的情况下编写了这个......这里就是......

1)在upload.php中创建表单

<form enctype="multipart/form-data" action="uploader.php" method="POST">
<input type="hidden" name="MAX_FILE_SIZE" value="100000" />
Choose a file to upload: <input name="uploadedfile" type="file" /><br />
description <textarea name="description" cols="15" rows="15"></textarea><br>
<input type="submit" value="Upload File" />
</form>

2)创建mysql表

CREATE TABLE  `uploads` (
 `ID` INT NOT NULL AUTO_INCREMENT PRIMARY KEY ,
 `filename` TEXT NOT NULL ,
 `description` TEXT NOT NULL
) ENGINE = INNODB; 

3)创建uploader.php并将你的凭据放在mysql中以匹配mysql的用户/传递

   // Where the file is going to be placed 
    $target_path = "uploads/"; 

/* Add the original filename to our target path.  
Result is "uploads/filename.extension" */
$target_path = $target_path . basename( $_FILES['uploadedfile']['name']); 
$target_path = "uploads/";

$target_path = $target_path . basename( $_FILES['uploadedfile']['name']); 

if(move_uploaded_file($_FILES['uploadedfile']['tmp_name'], $target_path)) {
    echo "The file ".  basename( $_FILES['uploadedfile']['name']). 
    " has been uploaded";
} else{
    echo "There was an error uploading the file, please try again!";
}

 // Make a MySQL Connection
mysql_connect("localhost", "admin", "1admin") or die(mysql_error());
mysql_select_db("uplodas") or die(mysql_error());

// Insert a row of information into the table "example"
mysql_query("INSERT INTO uplods 
(ID, filename, description) VALUES("","'.$_FILES['uploadedfile']['name'].'", "'.mysql_real_escape_string($_POST['description']).'" ) ") 
or die(mysql_error());  


echo "File Uploaded!";

这将允许您拥有一个有效的上传脚本。

一个简单的文件管理器将是

    // Make a MySQL Connection
    mysql_connect("localhost", "admin", "1admin") or die(mysql_error());
    mysql_select_db("uplodas") or die(mysql_error());

// Make a MySQL Connection
$query = "SELECT * FROM uploads"; 

$result = mysql_query($query) or die(mysql_error());


$row = mysql_fetch_array($result) or die(mysql_error());
echo $row['filename']. " - ". $row['description'] ." - DELETE | EDIT";
?>

使用UPDATE和DELETE mysql查询来创建删除和编辑按钮。

希望这有帮助!