Php 上传文件,那么我应该如何处理标题?
我们使用nginx成功地在服务器上设置了图像上载。所有内容都会发布到/upload,然后重定向到/file进行处理。文件将被上载和存储,但文件顶部有标题 ------WebKitFormBoundaryqUwBABts5uiLHgDN 内容配置:表单数据;name=“picture”;filename=“coldplay.jpg” 内容类型:图像/jpeg 我该怎么办?我是否要用PHP去掉这些标题,然后再次保存文件 上载带有这些标题的文件是否符合预期行为 表格如下:Php 上传文件,那么我应该如何处理标题?,php,nginx,Php,Nginx,我们使用nginx成功地在服务器上设置了图像上载。所有内容都会发布到/upload,然后重定向到/file进行处理。文件将被上载和存储,但文件顶部有标题 ------WebKitFormBoundaryqUwBABts5uiLHgDN 内容配置:表单数据;name=“picture”;filename=“coldplay.jpg” 内容类型:图像/jpeg 我该怎么办?我是否要用PHP去掉这些标题,然后再次保存文件 上载带有这些标题的文件是否符合预期行为 表格如下: <form actio
<form action="/upload/" id="upload3" method="post">
<input type="file" id="file" name="picture" value=""/>
<input type="submit" onclick="return uploadFiles(this.form);">
</form>
和js:
<script type="text/javascript">
function uploadFiles(form) {
var formData = new FormData(form);
var url = "/upload/";
var xhr = new XMLHttpRequest();
xhr.open('POST', url, true);
xhr.onload = function(e) {
if (this.status == 200) {
console.log(this.responseText);
}
};
xhr.send(formData); // multipart/form-data
return false;
}
</script>
函数上载文件(表单){
var formData=新formData(表格);
var url=“/upload/”;
var xhr=new XMLHttpRequest();
xhr.open('POST',url,true);
xhr.onload=函数(e){
如果(this.status==200){
console.log(this.responseText);
}
};
send(formData);//多部分/表单数据
返回false;
}
我正在使用这些代码行从上传的图像文件中删除前四行。我在某处找到了它,效果很好——不幸的是,我不知道它在哪里
$line_to_strip = 4;
$new_file = new SplFileObject($file_full_new, 'w');
foreach (new LimitIterator(new SplFileObject($file_full), $line_to_strip) as $line)
$new_file->fwrite($line);
但是,我不知道这是否是我们的永久解决方案。您如何上传/存储这些文件?您可以显示用于存储文件的(PHP)代码吗?
标记的enctype属性指定要使用的内容类型,“多部分/表单数据”应该使用。@MahasishShome:如果他使用AJAX发布表单,则不会。唯一的方法是,如果您正在编写原始的帖子正文(php://input
)到一个文件,而不是使用$\u FILES['file']
。但据我所知,nginx上传模块处理上传的方式与PHP不同,因此不使用$\u文件。