php實現文件上傳到指定文件夾,文件路徑或名字存入資料庫,如何實現啊

define(UPLOAD_ROOT,'你的上傳文件夾路徑');

function fake_random_name($string,$key){
#偽代碼 隨便根據用戶名和上傳時間生成一個偽隨機的文件名作為上傳以後的用戶名
#但解碼的條件是可以根據文件名判斷出文件所有者的用戶名和上傳時間
#需要從資料庫取出用戶的密匙 才能進行解密 密匙是用戶名的前5個字元
#具體加密解密的代碼實現 請參照PHP標准擴展庫 Mcrypt擴展下的N種方法
return $fake_random_name;
}
if(!is_writbale(UPLOAD_ROOT)){
die('you need chown the dir for your uploading file,make it writable~');
}else{
move_uploaded_file($_FILES['POST過來的表單名']['tmp_name'];
/*
* 這個方法會自動調用is_upload_file()方法 檢測是否是合法的http rfc1867協議上傳的文件
* 當然了 你也可以限制是否是你需要的合法文件類型 $_FILE[$_POST[name]][type] 比如是否是pdf img文件 都可以
*/
$dbh = new mysqli('localhost','root','sa','your_db_name');#生成中可以include進來 DSN放到根目錄以外去 保護連接文件

$sec_key = substr($_SESSION['loginname'],0,5);
#密匙

$file_name = fake_random_name($_FILES['POST過來的表單名']['tmp_name'],$sec_key);
#加密後的名字

$q_str = "insert into tb(owner,location)values($_SEESION['loginname'],UPLOAD_ROOT.DIRECTORYSLASH.$file_name))";/SQL

$dbh->query($q_str);

if($dbh->num_rows()==1) echo "上傳成功,已經插入資料庫文件細節(加密)";
}

Ⅱ 求一php文件上傳代碼,需要獲取到文件的路徑。

第二個這樣寫
<?php
$action = $_GET["action"];
if($action == "insertRoom"){
$rType = $_POST["rType"];
$rPrice = $_POST["rPrice"];
$rPicurl = $_POST["rPicurl"];
echo $rpicurl;
echo "<br>";
echo $rType;
$pic = $_FILES["rPicurl"]; //接收文件上傳
foreach($pic as $key=>$val){
echo "{$key}=>";
print_r($pic[$key]); //列印數組
echo "<br>";
}
echo "**********<br>";
foreach($pic["name"] as $key=>$val){
echo $key."<br>"; //如果庫key==0,則$pic[""][$key] 都是指向第一圖片的
if($pic["error"][$key]==0){ //此時指向第一個文件
$newName = "upload/".getNewName().".".getExtName($pic["name"][$key]);
move_uploaded_file($pic["tmp_name"][$key],$newName); //把上傳來的圖片從臨時位置移動到指定位置。
}
function getExtName($file){ //獲得文件括展名
$ext = pathinfo($file);
print_r($ext);
return $ext["extension"];
}
function getNewName(){
$newName = date("YmdHis").md5(mt_rand(10000,45333));
return $newName;
}
第三個不要了,合並了,可能變數名稱會有錯,自己調試下

Ⅲ php上傳指定文件到網站根目錄

<?php
$Root=$_SERVER['DOCUMENT_ROOT'].'/';//獲取根目錄(win下適用,其他操作系統的話,這樣獲取根目錄有點不可靠);
$Path='';//要存儲的目錄,可以為版空,權為空則保存到網站更目錄
$path=$Root.$Pathif(!empty($path){//如果保存目錄不為空
is_dir($path)ormkdir($path);//如果目錄不存在,則建立這個目錄
}

//...............剩下的自己寫

Ⅳ PHP獲取上傳文件的全路徑問題

最近怎麼這么多人問這個問題啊,伺服器獲取到本地路徑本來就是不合法的,所以不是專隨隨便便就能屬讓你獲取到的,但是確實是可以獲取到的,但是針對不同的瀏覽器都有不同的獲取方式,可以說高版本的瀏覽器都會防止伺服器得到本地路徑的,這就是瀏覽器的安全,我寫了一段也是只能獲取到火狐,360,ie7以下的。

Ⅳ php上傳路徑設置問題

if ($_FILES["file"]["error"] > 0){//0成功
echo "Return Code: " . $_FILES["file"]["error"] . "<br />";
}else{
echo "Upload: " .$_FILES["file"]["name"]."<br />";
echo "Type: " . $_FILES["file"]["type"] . "<br />";
echo "Size: " . ($_FILES["file"]["size"] / 1024) . " Kb<br />";
echo "Temp file: " . $_FILES["file"]["tmp_name"] . "<br />";
if (file_exists("Uploads/" .iconv("utf-8","GBK",$_FILES["file"]["name"]))){
//Uploads是你自己去目錄建的,"file"是你HTML表單文件的name,你要改的話把這個目錄改成
//$_POST["username"]試試
echo $_FILES["file"]["name"] . " already exists. ";
}else{
move_uploaded_file($_FILES["file"]["tmp_name"],
"Uploads/" .iconv("utf-8","GBK",$_POST["dir"]));
}
}

Ⅵ PHP如何獲取上傳文件的完整路徑

完整路徑?你是指傳到網上的完整路徑么??
如果是:這個路徑是需要你自己拼的。
首先獲取域名,拼上你設置的上傳目錄,然後拼上你接受來的文件名。

Ⅶ php如何獲取表單上傳文件的絕對路徑

這個問題是你的思路錯了,你應該先把圖片傳到伺服器再從伺服器curl post圖片,那個絕對路徑就是伺服器保存圖片的絕對路徑了

Ⅷ PHP如何設置文件上傳路徑(求完完整整代碼)

$path="../upfiles/image/";
if(!is_dir($path)){
mkdir($path,0777,true);
}
$file=$_FILES['file']['name'];
$tmp_file=$_FILES['file']['tmp_name'];
................
($tmp_file,$path.iconv('utf-8','gbk',$file));
$url=ltrim($path,'..').$file;

Ⅸ php文件上傳,一般是保存在絕對路徑還是相對路徑

一般是保存web訪問的絕對路徑,如這個文件以後可以通過 http://example.com/uploads/file/filename訪問,那麼就保存為/uploads/file/filename。當然最好是把路徑和文件名分開保存。這樣輸出的時候就可以直接echo $row['path'] . $row['filename']了

Ⅹ php如何獲取上傳圖片的路徑

那是臨時的文件,你需要保存下來才行
move_uploaded_file($_FILES["img"]["tmp_name"],$file);
這個函數可以保存下來吧圖片,$file定義為自己需要保存到的地方