Ⅰ php如何獲得上傳文件的具體信息
//上傳文件
if(!empty($_FILES['upload']['name']))
{//判斷上傳內容是否為空
$name = $_FILES['upload']['name'];
if($_FILES['upload']['error']>0){//判斷文件是否可以上傳到伺服器
echo "上傳錯誤";
}else{
if(!is_dir("../bbs/down")){//判斷指定目錄是否存在
@mkdir("../bbs/down");//創建目錄
}
$date=md5($userid);
$path='../bbs/down/'.$date.strstr($_FILES['upload']['name'],'.');//定義文件名稱和儲存位置
$type=$_FILES['upload']['name'];//獲取上傳文件名稱
$types=strtolower(strstr($type,'.'));//獲取上傳文件後綴
//可以判斷$types文件後綴類型是否符合照片類型的後綴
if(is_uploaded_file($_FILES['upload']['tmp_name'])){//是否是HTTP POST上傳
if(@!move_uploaded_file($_FILES['upload']['tmp_name'],$path)){//執行上傳
echo "上傳失敗<br/>";
}else{
echo "上傳成功<br/>";
}}}}
Ⅱ 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);
}
Ⅲ PHP怎麼獲取最近上傳的文件
應該是剛剛上傳的吧。
index.php
<form action="index233.php" method="post" enctype="multipart/form-data">
<input type="file" name="myfile"><br><br>
<input type="submit" value="提交">
<input type="hidden" value="59823" name="MAX_FILE_SIZE">
</form>
index233.php
header('Content-type:text/html;charset=UTF-8');
if(!empty($_FILES)){
$fileInfo=$_FILES['myfile'];
if($fileInfo['error']>0){
switch($fileInfo['error']){
case 1:
$msg_error='上傳文件超過了php配置文件中UPLOAD_MAX_FILESIZE選項的值';
break;
case 2:
$msg_error='超過了表單MAX_FILE_SIZE限制的大小';
break;
case 3:
$msg_error='文件部分上傳';
break;
case 4:
$msg_error='沒有文件上傳';
break;
case 6:
$msg_error='沒有找到臨時目錄';
break;
case 7:
case 8:
$msg_error='系統錯誤';
break;
}
exit($msg_error);
}
$filename=$fileInfo['name']; // 獲取文件全名
$ext=strtolower(substr($filename,strrpos($filename,'.')+1)); //截取點號後的擴展名
$allowExt=array('txt','html','png','gif','jpeg'); //定義允許擴展名數組
if(!in_array($ext,$allowExt)){ //如果不在數組中 報錯
exit('上傳文件類型錯誤');
}
$maxSize=2097152;
if($fileInfo['size']>$maxSize){
exit('上傳文件過大');
}
if(!is_uploaded_file($fileInfo['tmp_name'])){
exit('文件不是通過HTTP POST方式提交上來的');
}
//確保文件名字唯一,防止同名文件被覆蓋
$uniqName=md5(uniqid(microtime(true),true)).'.'.$ext;
$path="uploads";
if(!file_exists($path)){
mkdir($path,0777,true);
chmod($path,0777);
}
$destination=$path.'/'.$uniqName;
if(!@move_uploaded_file($fileInfo['tmp_name'],$destination)){
exit('文件上傳失敗');
}
echo '上傳成功';
}
Ⅳ 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>";
}
?>
Ⅳ php讀取上傳的TXT文件
文件會上傳到伺服器下的臨時文件,通過獲取臨時文件內容即可,不處理上傳
Ⅵ 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"] - 由文件上傳導致的錯誤代碼
Ⅶ 上傳文件時,PHP如何獲取上傳文件的具體信息
在PHP中選擇或者上傳文件時,用$_POST['filename']只能取得上傳文件的文件名,但是不包含該文件所處的路徑名,如果要取得文件的全路徑名,就要用下列參數:
php:
•$_FILES["file"]["name"] - 被上傳文件的名稱
•$_FILES["file"]["type"] - 被上傳文件的類型
•$_FILES["file"]["size"] - 被上傳文件的大小,以位元組計
•$_FILES["file"]["tmp_name"] - 存儲在伺服器的文件的臨時副本的名稱
•$_FILES["file"]["error"] - 由文件上傳導致的錯誤代碼
Ⅷ 上傳文件時。PHP如何獲取上傳文件的具體信息
這與swfupload是無關的.路徑是你自己設定的或是默認PHP文件的當前路徑. 你可以看看$_FILES的這個全局變數 ,專門管理所有上傳的文件的.包含臨時路徑等.
Ⅸ php上傳excel文件,如何讀取文件中的信息
告訴你一個思路,
簡單歸納如下三個部分即可實現 .
////存儲的部分
<?
if($_FILE[文件名])
{
$destFilename=指定目錄/文件名;
($_FILE[文件名],$destFilename);
}
?>
<?
//php讀出部分,
這里可以有多個.如果是圖片文件的,可以直接使用HTML的<IMG src=相對URI圖片路徑>標記
//如果是其它如WORD/EXCEL/PDF這類的.你就要用一個<IFRAME src=文件 高/寬設定>
?>
//////////上傳的部分
<form method="POST" >
<input type=file name=文件變數>
<input type=submit>
</form>
Ⅹ 文件已經通過html上傳到伺服器,並將文件保存了,請問之後php如何讀取這個文件中的內容
文件上傳成功後再資料庫記錄文件的上傳路徑,之後要讀取的時候,直接寫入文件路徑就好了,例如:資料庫記錄:/upload/20160525/test.txt,輸出文件:www.demo.com/upload/20160525/test.txt,即可正常打開文件