Home >Backend Development >PHP Tutorial >api - php 如何判断有PUT方式的文件上传?

api - php 如何判断有PUT方式的文件上传?

WBOY
WBOYOriginal
2016-06-06 20:20:191405browse

这个上传是可选的,如果有,连同表单在内的其他字段一齐有PUT方式发送过来,那么怎么判断传过来的有没有上传文件文件呢?

我现在的解决办法是,读取PUT文件并入到一个临时文件里面,再用fiesize判断这个文件大小,如果为0的时候说明没有上传,但觉得这样做不稳妥,来请教一下。

<code>        $handle  = fopen('php://input', 'r');
        $fp = fopen($tmp_as, "w+");

        while ($data = fread($handle, 1024)) {
            fwrite($fp, $data);
        }
        fclose($fp);
        fclose($handle);
        
        
        if(filesize($tmp_as) && getimagesize($tmp_as)) {//文件是个图像,所以用了getimagesize函数
            echo '//TODO 有文件上传并处理';
        } else {
            echo '没有文件上传';
        }</code>

回复内容:

这个上传是可选的,如果有,连同表单在内的其他字段一齐有PUT方式发送过来,那么怎么判断传过来的有没有上传文件文件呢?

我现在的解决办法是,读取PUT文件并入到一个临时文件里面,再用fiesize判断这个文件大小,如果为0的时候说明没有上传,但觉得这样做不稳妥,来请教一下。

<code>        $handle  = fopen('php://input', 'r');
        $fp = fopen($tmp_as, "w+");

        while ($data = fread($handle, 1024)) {
            fwrite($fp, $data);
        }
        fclose($fp);
        fclose($handle);
        
        
        if(filesize($tmp_as) && getimagesize($tmp_as)) {//文件是个图像,所以用了getimagesize函数
            echo '//TODO 有文件上传并处理';
        } else {
            echo '没有文件上传';
        }</code>

表单提交后,打印$_FILES['myfile']看看,这个就是你上传的图片(tmp结尾的临时文件),需要移动文件,用move_uploaded_file函数

Statement:
The content of this article is voluntarily contributed by netizens, and the copyright belongs to the original author. This site does not assume corresponding legal responsibility. If you find any content suspected of plagiarism or infringement, please contact admin@php.cn