时间:2021-07-01 10:21:17 帮助过:2人阅读
我现在的解决办法是,读取PUT文件并入到一个临时文件里面,再用fiesize判断这个文件大小,如果为0的时候说明没有上传,但觉得这样做不稳妥,来请教一下。
$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 '没有文件上传';
}
这个上传是可选的,如果有,连同表单在内的其他字段一齐有PUT方式发送过来,那么怎么判断传过来的有没有上传文件文件呢?
我现在的解决办法是,读取PUT文件并入到一个临时文件里面,再用fiesize判断这个文件大小,如果为0的时候说明没有上传,但觉得这样做不稳妥,来请教一下。
$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 '没有文件上传';
}
表单提交后,打印$_FILES['myfile']看看,这个就是你上传的图片(tmp结尾的临时文件),需要移动文件,用move_uploaded_file函数