A. 上傳文件時。PHP如何獲取上傳文件的具體信息
這與swfupload是無關的.路徑是你自己設定的或是默認PHP文件的當前路徑. 你可以看看$_FILES的這個全局變數 ,專門管理所有上傳的文件的.包含臨時路徑等.
B. php怎樣獲取上傳圖片的位元組流呢
網頁文件上傳實際上在表單提交的時候,如果上傳沒有問題,文件已經上傳到伺服器的臨時文件夾了。
在php中,有文件上傳,那麼php伺服器端可以接收到請求參數 $_FILES,在 $_FILES數組中讀取到上傳文件的form表單名,然後在讀取的數組中可以獲取上傳文件的源文件,使用 fopen()函數就可以獲取文件的位元組流了。
具體來點代碼看看吧:(假定上傳文件的表單名為 「formname」)
if($_FILES && isset($_FILES["formname"])){
//獲取上傳的文件的屬性數組
$_fileinfo = $_FILES["formname"];
//獲取上傳文件的原文件名
$_filename = $_fileinfo["name"];
//獲取上傳文件的大小
$_filesize = $_fileinfo["size"];
//獲取上傳文件的臨時文件名(長文件名)
$_filesource = $_fileinfo["tmp_name"];
//以讀寫方式打開文件,並將資源綁定到一個流上
$_filestream = fopen($_filesource,"ab");
//實現上傳文件,其實質是把臨時文件移動到制定的保存文件的位置
$_newfilename = "../mypath/filename.exp"; //自定義文件名,包含路徑,可以是相對路徑
move_uploaded_file($_filesource, $_newfilename);
}
C. php上傳excel文件,如何讀取文件中的信息
在網頁上傳文件並點擊打開excel、word文檔:
<?php
if($submit && $testfile <> "none ") {
$path= "/home/httpd/html/ "; //絕對路徑,注意Linux和Windows下面的格式,windows格式為:c:\\apache2\\htdocs\\
$filename=$testfile_name;
if (!@($testfile,$path.$filename)) {
echo "復制文件失敗... <br> \n ";
exit();
}
@unlink($testfile);
echo "文件上傳成功!地址為: <a href=\ "$filename\ "> 下載 </a> ";
exit;
}
?>
<form action= " <?php echo $PHP_SELF;?> " method= "post " enctype= "multipart/form-data ">
<input name= "testfile " type= "file " size=20 enctype= "multipart/form-data ">
<input type=submit name=submit value= "開始上傳 ">
</form>
D. 上傳文件時,PHP如何獲取上傳文件的具體信息
在PHP中選擇或者上傳文件時,用$_POST['filename']只能取得上傳文件的文件名,但是不包含該文件所處的路徑名,如果要取得文件的全路徑名,就要用下列參數:
php:
•$_FILES["file"]["name"] - 被上傳文件的名稱
•$_FILES["file"]["type"] - 被上傳文件的類型
•$_FILES["file"]["size"] - 被上傳文件的大小,以位元組計
•$_FILES["file"]["tmp_name"] - 存儲在伺服器的文件的臨時副本的名稱
•$_FILES["file"]["error"] - 由文件上傳導致的錯誤代碼
E. PHP 讀取上傳的文件急!
創建一個文件上傳表單
允許用戶從表單上傳文件是非常有用的。
請看下面這個供上傳文件的 HTML 表單:
<html>
<body>
<formaction="upload_file.php"method="post"
enctype="multipart/form-data">
<labelfor="file">Filename:</label>
<inputtype="file"name="file"id="file"/>
<br/>
<inputtype="submit"name="submit"value="Submit"/>
</form>
</body>
</html>
請留意如下有關此表單的信息:
<form> 標簽的 enctype 屬性規定了在提交表單時要使用哪種內容類型。在表單需要二進制數據時,比如文件內容,請使用 "multipart/form-data"。
<input> 標簽的 type="file" 屬性規定了應該把輸入作為文件來處理。舉例來說,當在瀏覽器中預覽時,會看到輸入框旁邊有一個瀏覽按鈕。
注釋:允許用戶上傳文件是一個巨大的安全風險。請僅僅允許可信的用戶執行文件上傳操作。
創建上傳腳本
"upload_file.php" 文件含有供上傳文件的代碼:
<?php
if($_FILES["file"]["error"]>0)
{
echo"Error:".$_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"Storedin:".$_FILES["file"]["tmp_name"];
}
?>
通過使用 PHP 的全局數組 $_FILES,你可以從客戶計算機向遠程伺服器上傳文件。
第一個參數是表單的 input name,第二個下標可以是 "name", "type", "size", "tmp_name" 或 "error"。就像這樣:
$_FILES["file"]["name"] - 被上傳文件的名稱
$_FILES["file"]["type"] - 被上傳文件的類型
$_FILES["file"]["size"] - 被上傳文件的大小,以位元組計
$_FILES["file"]["tmp_name"] - 存儲在伺服器的文件的臨時副本的名稱
$_FILES["file"]["error"] - 由文件上傳導致的錯誤代碼
F. 文件已經通過html上傳到伺服器,並將文件保存了,請問之後php如何讀取這個文件中的內容
文件上傳成功後再資料庫記錄文件的上傳路徑,之後要讀取的時候,直接寫入文件路徑就好了,例如:資料庫記錄:/upload/20160525/test.txt,輸出文件:www.demo.com/upload/20160525/test.txt,即可正常打開文件
G. php讀取上傳的TXT文件
file_get_contents
fopen
這兩個都是打開文件的函數,
可以設置explode用某符號分割。
$lines=file("db.txt"); //逐行讀取TXT文件
foreach ($lines as $value) {
$line=explode(",",$value);
echo "no1:$line[0]--no2:$line[1]---time:$line[2]-<br>";
}
H. php上傳的文件如何讀取內容並插入到資料庫
如果你的FORM是這樣寫的:
<input type=file name=f>
那麼PHP獲取上傳文件內容到字元串$str中的語句是:
$str=file_get_contents($_FILE['f']['tmp_name']);
I. JS動態創建的file控制項,PHP 怎麼獲取上傳的文件
首先,你的file控制項要放到form表單內,其次,每個file控制項的name屬性應該不同。下面是我修改後的:
<html>
</head>
<script language="javascript" type="text/ecmascript">
var x=1;
//======================
//功能:在表單中input file控制項
//參數:parentID---要插入input file控制項的父元素ID
// inputID----input file控制項的ID
//======================
function createInput(parentID,inputFileID){
var parent=$(parentID);//獲取父元素
var div=document.createElement("div");//創建一個div容器用於包含input file
x++;
var divName=inputFileID+x;//隨機div容器的名稱
div.id=divName;
var aElement=document.createElement("input"); //創建input
aElement.name=divName;
aElement.type="file";//設置類型為file
var delBtn=document.createElement("input");//再創建一個用於刪除input file的Button
delBtn.type="button";
delBtn.value="刪除";
delBtn.onclick=function(){ removeInput(parentID,divName)};//為button設置onclick方法
div.appendChild(aElement);//將input file加入div容器
div.appendChild(delBtn);//將刪除按鈕加入div容器
parent.appendChild(div);//將div容器加入父元素
}
//============================
//功能:刪除一個包含input file的div 容器
//參數:parentID---input file控制項的父元素ID
// DelDivID----個包含input file的div 容器ID
//============================
function removeInput(parentID,DelDivID){
var parent=$(parentID);
parent.removeChild($(DelDivID));
}
//通過元素ID獲取文檔中的元素
function $(v){return document.getElementById(v);}
</script>
<body>
<form action="test.php" method="post" enctype="multipart/form-data">
<div align="left" id="div_Pic" style="border:1px solid #CCCCCC">
<input name="PicFile" type="file" id="ShowPicFile">
</div>
<input type="button" onClick="createInput('div_Pic','PicFile')" name="button" id="button" value="+ 繼續添加圖片">
<input type="submit" value="提交">
</body>
</html>
然後php就可以通過遍歷$_FILES來獲得每個上傳的文件。下面的簡單例子只是列出每個文件的原文件名:
<?php
forEach($_FILES as $f){
echo $f["name"]."<br>";
}
?>
J. php+mysql怎樣處理用戶上傳的圖片、文件和文本內容
據我的理解:
1、你要先確定資料庫欄位的類型,假設,這個欄位是文本型,那麼就不能輸入其他類型的數據(也就是說,你不能把圖片的內容保存到文本類型的欄位里)。
2、根據你的需要:
假設用戶上傳的文件(文本或是圖片等)你想將其內容都保存在資料庫里,那麼,我的考慮是設置兩個欄位,一個欄位保存文件內容,另一個欄位指示內容的類型(是文本還是圖片等)。
假設你並不想保存內容到資料庫里,而是將內容作為外部數據(以文件形式),當用戶上傳時保存到伺服器特定的目錄里,那麼你可以設置一個欄位,用來保存文件路徑名稱,當你調用時可以直接判斷其後綴名來確定顯示(某些程序就是這么設計的),也可以再設置一個欄位,用來保存文件類型。