Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/296.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 上传文件,那么我应该如何处理标题?_Php_Nginx - Fatal编程技术网

Php 上传文件,那么我应该如何处理标题?

Php 上传文件,那么我应该如何处理标题?,php,nginx,Php,Nginx,我们使用nginx成功地在服务器上设置了图像上载。所有内容都会发布到/upload,然后重定向到/file进行处理。文件将被上载和存储,但文件顶部有标题 ------WebKitFormBoundaryqUwBABts5uiLHgDN 内容配置:表单数据;name=“picture”;filename=“coldplay.jpg” 内容类型:图像/jpeg 我该怎么办?我是否要用PHP去掉这些标题,然后再次保存文件 上载带有这些标题的文件是否符合预期行为 表格如下: <form actio

我们使用nginx成功地在服务器上设置了图像上载。所有内容都会发布到/upload,然后重定向到/file进行处理。文件将被上载和存储,但文件顶部有标题

------WebKitFormBoundaryqUwBABts5uiLHgDN

内容配置:表单数据;name=“picture”;filename=“coldplay.jpg”

内容类型:图像/jpeg

我该怎么办?我是否要用PHP去掉这些标题,然后再次保存文件

上载带有这些标题的文件是否符合预期行为

表格如下:

<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文件。