在此先感謝您的幫助,我希望我對我的請求的解釋是可以理解的。Javascript和PHP上傳系統
我有一個網站,我上傳的腳本,網站等各種HTML頁面,我發現隨着時間的推移有用......對於1目的)爲自己的參照,以及2)分享我與其他人發現。
該網站由2個部分組成。用於查找腳本的搜索頁面以及用於上載它的管理頁面。上傳的HTML文件被放置在我的服務器上的「docs /」目錄中,並將詳細信息添加到搜索頁面的MySQL數據庫中。
的形式如下:
<form name="upload" enctype="multipart/form-data" action="includes/add.php"
method="post" onsubmit="return validateForm();">
<label for="scriptname">Script Name</label><input class="inputarea" type="text"
name="scriptname"><br>
<label for="category">Category</label><input class="inputarea" type="text"
name="category"><br>
<label for="keywords">Keywords</label><input class="inputarea" type="text"
name="keywords"><br>
<label for="content">HTML File</label><input class="inputarea" type="file"
name="content"><br>
<input class="submit" type="submit" value="Add">
</form>
我的問題是...是否有JavaScript或PHP沒有辦法做到以下幾點:
- 產生了一個自動的文件名上傳的文件(一些隨機的數字會做)
在「腳本名稱」輸入欄上進行提交,它使得腳本名和文件名必須清楚交代添加到數據庫中的文字...例如超鏈接添加文本。當提交按鈕被按下時,以下被添加到數據庫中:
< A HREF = 「文檔/ automatic_file_name.html」 > 「 scriptname_input」 < /一個>
凡加粗部分從生成的文件名,並採取斜體部分是從輸入字段...
這樣做的目的是爲了讓在搜索結果中,當數據庫列腳本名稱出現後,腳本名稱就是實際文件的鏈接。我已經準備好了搜索功能,並且可以從數據庫條目創建鏈接,但我只需要簡化上傳過程。
如果這是不可能的,是有不同的方式來實現這一目標?
---編輯---
謝謝大家的幫忙!非常感謝,我已經使用了幾個建議的組合。但是,由於他的解決方案是最接近的,我將信譽歸功於Ibere。
這裏是我用於該處理的上傳和數據庫添加「add.php」文件的最終代碼,以防萬一它再度出現(我對此表示懷疑):P
<?php
$filename = md5($_FILES['content']['name']);
$labelForUrl = $_POST['scriptname'];
$url = "<a href=\"docs/$filename\">$labelForUrl</a>";
$target = "../docs/";
//This gets all the other information from the form
$name=$_POST['scriptname'];
$cat=$_POST['category'];
$key=$_POST['keywords'];
$link=$_POST['link'];
$file=($_FILES['content']['scriptname']);
// Connects to your Database
mysql_connect("localhost", "username", "password") or
die(mysql_error()) ;
mysql_select_db("scripts") or die(mysql_error()) ;
//Writes the information to the database
mysql_query("INSERT INTO scripttable (scriptname,category,keywords,link,content)
VALUES ('$url', '$cat', '$key', '$link', '$file')") ;
if(move_uploaded_file($_FILES['content']['tmp_name'], $target . $filename)) {
echo "The file ". $labelForUrl.
" has been uploaded";
}
else {
echo "There was an error uploading the file, please try again!";
}
?>
這些應該是對當前上傳腳本的小改動。你可以發佈該腳本嗎? – jeroen