【发布时间】:2021-06-06 11:00:42
【问题描述】:
我最后一次尝试(2020 年)我能够获取使用 share_target 方法上传的文件(是的,网络已经使用 A2HS 横幅安装到主屏幕),我不知道我做错了什么,现在什么时候我尝试使用 $_FILES['upload']['tmp_name'] 获取文件,并使用 isset() 以及如果 == NULL 检查它,它表明 $_FILES 为空,但是当我尝试使用表单时我创建手动上传文件,程序正常运行,因为它应该是
这里有一些sn-p:
1. manifest.json
{
"name": "SchedUIe",
"short_name": "SchedUIe",
"start_url": "home.php",
"display": "standalone",
"background_color": "#454545",
"theme_color": "#454545",
"orientation": "portrait-primary",
"icons": [
{
"src": "images/logo144.png",
"type": "image/png",
"sizes": "144x144"
},
{
"src": "images/logo192.png",
"type": "image/png",
"sizes": "192x192"
},
{
"src": "images/logo512.png",
"type": "image/png",
"sizes": "512x512"
}
],
"share_target":
{
"action": "decision.php",
"method": "POST",
"enctype": "multipart/form-data",
"params":
{
"title": "name",
"text": "description",
"url": "link",
"files":
[
{
"name": "upload",
"accept": [".html", ".mhtml" ,".htm"]
}
]
}
}
}
2。决定.php
<?php
$role = '';
include_once('config_database.php');
$uploaded = $_FILES['upload']['tmp_name'];
$content = file_get_contents($uploaded);
if($uploaded == NULL)
{
echo '<script language="javascript">';
echo 'alert("Please select your file");';
echo 'window.location="home.php";';
echo '</script>';
echo "<script>window.location.href='home.php';</script>";
}
elseif(strpos($content, 'title="Ganti Role">Mahasiswa') !== false) //some string checking logic
{
$role = 'mahasiswa';
}
elseif(strpos($content, 'title="Ganti Role">Dosen') !== false) //some string checking logic
{
$role = 'dosen';
}
//Get the user name
if ($role == 'mahasiswa')
{
include_once('output_mahasiswa.php');
include_once('download_page.php');
}
elseif ($role == 'dosen')
{
include_once('output_dosen.php');
include_once('download_page.php');
}
else
{
echo '<script language="javascript">';
echo 'alert("Invalid File");';
echo 'window.location="home.php";';
echo '</script>';
exit();
}
?>
<html>
<head>
</head>
<body>
</body>
</html>
当我使用 android 的共享功能上传文件时,我总是收到“请选择您的文件”警报,这意味着它得到了 $uploaded == NULL 条件。 我已经尝试通过在php中使用$_POST获取一些使用“text”属性的测试文本以及使用share_target中的“url”属性的一些url并且它有效,只有对我不起作用的“文件” .
所以我的程序有什么错误或者只是 share_target 不再支持 $_FILES 方法了吗?
【问题讨论】:
标签: php progressive-web-apps manifest manifest.json