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

热点内容
主角穿越苏联解体前当倒爷 浏览:169
女主列开衣服说“看啊,看够了没有”的电影 浏览:154
台湾红羊 下载 浏览:745
mov无损压缩 浏览:988
新妈妈演员表女主角朱艺彬 浏览:197
eve美服测试服命令 浏览:86
提取压缩文件密码 浏览:863
母亲节电影展播维吾尔语 浏览:429
JUQ 276迅雷下载 浏览:228
wifi怎么求加密的密码 浏览:963
关闭命令框 浏览:204
手机九键怎么设置加密信息 浏览:253
工程财务预决算法 浏览:969
沐风之女未删减完整版在线免费观看 浏览:990
怎么提高编程思想 浏览:23
程序员给女朋友的相册代码 浏览:936
什么是物质压缩 浏览:496
韩国男女主拍吻戏然后打了起来是哪部电影 浏览:238
西门子编程怎样 浏览:908
小老孩韩国电影 浏览:473