導航:首頁 > 編程語言 > php接收file

php接收file

發布時間:2024-03-27 09:08:56

A. php接收二進制文件怎麼替換裡面的內容

php接收二進制文件怎麼替換裡面的內容
php接收二進制文件如下:
<?php
header('Content-type: text/html; charset=utf-8');
error_reporting(0);
$filename = $_GET["filename"];
$filesize = $_GET["filesize"];

$xmlstr = $GLOBALS[HTTP_RAW_POST_DATA];//$_POST["data"];//
if(empty($xmlstr)) $xmlstr = file_get_contents('php://input');

$raw = $xmlstr;//得到post過來的二進制原始數據
$file = fopen("./upload/".$filename,"w");//打開文件准備寫入
fwrite($file,$raw);//寫入
fclose($file);//關閉
?>

接收的二進制文件中非標准字元(>0x7F)的位元組被替換為三個位元組,比如E2替換為EF 9F A2
現在我想在Php接收到文件之後還原回去,把EF 9F A2替換為E2,請問這個怎麼實現?

非常感謝!
PHP 二進制

------解決方案--------------------
他的數據轉換規則是這樣的:
文件頭不變,文件頭多長不清楚,圖上到0050h都一樣的
<=7F的位元組,因為utf-8也一樣,可以認為也轉換了utf-8
>=80的位元組,高位加上F7,再轉utf-8,例如E2就變成F7E2然後轉utf-8成為EF 9F A2

至少他圖中E2/FB/91/B2/81...都滿足這個規則
------解決方案--------------------
本帖最後由 xuzuning 於 2013-05-02 15:35:02 編輯
用正則可這樣寫
假定數據已把存在變數 $s 中,則
$s = preg_replace_callback('/[\xef]../', 'foo', $s);

function foo($r) {

$c = (ord($r[0]{1}) & 0x03) << 6;

$c += (ord($r[0]{2}) & 0x3f);

return chr($c);

}

B. php 使用ajaxfileupload無法接收文件

既然你都在php頁面列印$_FILE沒有值說明沒有數據上傳到php文件。


ajax上傳文件:

$(document).ready(function(){
$('#test').click(function(){
$.ajaxFileUpload({
url:'接收路徑',
secureuri:false,
fileElementId:'file',
dataType:'text',//返回數據類型
success:function(data,status){
//alert(data);
$("#img").attr("src","圖片地址
);
},
error:function(data,status,e)//伺服器響應失敗處理函數
{
alert(e);
}
});
//$('#upload').submit();
});
});

C. ckeditor5上傳的圖片如何用PHP接收

從圖上看應該是傳的文件用$_FIELES接收,
如果不行的話試試用file_get_contents('php://input');試試

D. 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>";

}

?>

E. php 如何獲取file表單中的本地路徑(file表單中的值)

1.這是你通過:$_FILES可以取到的所有的值:
echo
"<pre>";
print_r($UploadedFile);
echo
"</pre>";2.如果你是要取表單UploadedFile的值,可以通過變通的方式,js去處理,如觸發瀏覽按扭或上傳按扭的時候,將其寫入到別一個隱藏域,再提交就可以了。

閱讀全文

與php接收file相關的資料

熱點內容
雲平台推送伺服器地址 瀏覽:71
多維BOSS通伺服器地址 瀏覽:1000
姜銀慧倫理電影 瀏覽:530
dde編程 瀏覽:845
飛機事故的電影演員叫什麼兵 瀏覽:593
群暉nfc共享文件夾 瀏覽:917
實時影像疊加ar編程培訓 瀏覽:653
程序員吃青春飯規定 瀏覽:307
南洋建國類的小說 瀏覽:347
萱萱電視劇影視 瀏覽:218
泰國腐片免費看 瀏覽:144
美版狗電影 瀏覽:865
德軍女兵電影大全集 瀏覽:635
android經典教材 瀏覽:863
解讀程序源碼 瀏覽:949
電影父女大不同免費看 瀏覽:31
法國毒網劇情介紹 瀏覽:527
法國love在線觀看 瀏覽:797
建行App哪裡有掃一掃 瀏覽:574
smt程序員招聘 瀏覽:737