导航:首页 > 编程语言 > 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相关的资料

热点内容
pdf与word文档区别 浏览:57
MC你如何将材质包装进服务器 浏览:701
单片机的外文资料 浏览:547
什么是白盒加密算法 浏览:804
乐书pdf 浏览:427
a星寻路算法在3d中 浏览:137
抗震等级不同箍筋加密区范围不同 浏览:471
xshell上传文件命令 浏览:781
优先级队列java 浏览:156
轻量化腾讯云服务器有什么用 浏览:462
编译原理自编译语言 浏览:425
闲鱼app为什么这么多 浏览:692
安卓手机玩游戏不卡怎么设置 浏览:568
编译链接装载书 浏览:539
面试腾讯公司程序员 浏览:110
一个字母y是什么app 浏览:144
魔兽大脚解压安装教程 浏览:10
超时代共享文件夹破解版 浏览:445
命令与征服红色警戒3攻略 浏览:728
解压缩jar包 浏览:588