Articles of PHP

有什么方法可以让Android的默认浏览器识别“Content-Disposition:attachment”下载中的非ASCII文件名?

首先,我很确定这不是重复,因为我已经在StackOverflow和其他地方研究了这个主题很长一段时间了。 已经提出了类似的问题,但没有一个得到满意的回答。 过去的相关(但不完全相同)问题: Android Chrome浏览器不必要地重命名已下载文件的名称和types 如何在HTTP中编码Content-Disposition头文件名参数? 我也完全了解mod_rewrite技巧,这使得完全不必在HTTP头中处理文件名。 但是我们假设这不是一个选择。 大多数现代浏览器(IE9 +,Firefox,Chrome)在下载名称中包含非ASCII字符的文件时都支持RFC2231 / 5987 。 在这些情况下,以下PHP代码就像一个魅力: header(“Content-Disposition: attachment; ” . “filename*=UTF-8”” . rawurlencode($filename)); IE <= 8不了解RFC2231 / 5987,但以下代码大部分时间都有效。 由于每个浏览器都试图在某种程度上模拟IE,因此这也适用于许多其他浏览器,例如Firefox。 header(“Content-Disposition: attachment; ” . ‘filename=”‘ . rawurlencode($filename) . ‘”‘); 同时,Chrome <11和Safari <6似乎更喜欢以下内容,尽管它将非ASCII字符直接放在标题中。 header(“Content-Disposition: attachment; filename=” . $filename); 到现在为止还挺好。 但是当谈到Android的默认浏览器应用程序时,一切都崩溃了。 (到目前为止,我已经在姜饼,冰淇淋三明治和果冻豆中进行了测试。) 如果您给它标准的RFC2231 / 5987处理,默认浏览器完全忽略它并尝试从URL的最后部分猜测文件名。 如果你给它通常的非标准(IE <= 8)处理,默认浏览器会尝试将文件名解释为ISO-8859-1,导致无法理解的混乱字符,或者它会以静默方式丢弃所有非ASCII字符。 版本之间的确切行为有所不同,但无论如何,很明显Android的默认浏览器也不支持rawurlencode()格式。 如果将原始文件名放在标题中,则会发生同样的情况。 […]

Android App与Laravel Action方法的互动

我已经有Laravel网页,我可以在其中添加/更新/删除/读取MySQL数据库中的记录。 Laravel版本是5.2.15 现在,我必须将数据库与Android App集成。 为了做到这一点,我必须发布和阅读Json数据。 这里的问题是:我应该有2种公共行动方法吗? 首先是用于在网页上显示记录的网页,第二个用于在Android中返回json数据。 我的意思是,当我将数据返回给webPage ..我将不得不编写下面的代码。 return View(“View-Path”, array(“Data” => $Data)); 但是在Android App的情况下,我将不得不请求Json Data。 请建议正确的方法。

如何检测移动设备是否由Google Chrome模拟?

有没有办法区分真正的移动设备和谷歌浏览器模拟的设备? 请注意,Google Chrome可以模拟Useragent,触摸屏,屏幕分辨率和加速度计。 我需要知道一些无法模拟但可以通过javascript检测到的function。

使用OAuth2.0使用PHP的C2DM(不推荐使用ClientLogin!)

注意:在您花时间阅读之前,请注意C2DM现在已被弃用,并由GCM取代(http://developer.android.com/guide/google/gcm/c2dm.html) – 原始问题 – 我们是否有实现PHP服务器端代码的示例代码,以便使用C2DM将消息推送到Android设备? 我搜索了许多使用旧的身份validation方法ClientLogin的代码示例,该方法已被弃用。 参考: https : //developers.google.com/accounts/docs/AuthForInstalledApps (重要提示:截至2012年4月20日,ClientLogin已正式弃用。它将继续按照我们的弃用政策运行,但我们建议您迁移到OAuth 2.0尽快。)

让使用移动浏览器的用户通过短信发送他们想要的产品代码

我将使用一种方法让使用移动浏览器的用户通过SMS发送他们想要的产品代码。 目前我使用的东西如下: Buy product-number23xx Buy product-number24xx Buy product-number56xx 它适用于Symbian和Java平台,但在Darwin,Windows CE,Mobile OS等所有移动平台上都无法正常运行。 任何机构都可以帮我说出其他平台的示例代码吗? 我也看到了这个问题 ,我尝试了mailto:并tell:但是第一个打开电子邮件客户端,第二个只是添加移动联系人的号码!

基本多文件上传无法在移动设备上运行

我创建了一个多文件上传表单( 参考 )的一个非常基本的例子,它在桌面上工作得很好,但在移动设备上却没有,至少我测试的是。 On Mobile(小米Mi4 [Android版:6.1] – 谷歌浏览器/ Mozilla Firefox):当我点击选择文件时,我看到这个屏幕: 如果我选择Google相册并选择多个文件,则只会将第一个文件插入到表单中。 如果我选择图库(本机)应用并选择多个文件,我会在表单上获得正确的数字,但是当我点击上传时,我会看到“Aw Snap”屏幕: 知道为什么会这样吗? 除了谷歌照片和本机应用程序,我尝试了5个不同的应用程序,最后一个, Piktures实际上工作! 请告诉我这不是应用程序的事情…有没有办法正确获取文件? 附加代码: <?php if (isset($_FILES['my_file'])) { $myFile = $_FILES['my_file']; $fileCount = count($myFile["name"]); for ($i = 0; $i File #: Name: Temporary file: Type: Size: Error: 如果您想测试: http : //odedta.com/projects/jqueryfileupload/ 谢谢!

php / java for android之间的数据编码/解码

我必须解码从php服务器接收的base64编码数据。 服务器使用’base64_encode’对数据进行编码。 在我的Android应用程序中,我使用android.utils.Base64类来进行解码。 原始加密数据=“†+Ü] M(‡=ñö” php中的Base64编码数据给出…… – “hisP3F1NBCgIAocQCD3x9g ==” android中的Base64编码数据给出 – “4oCgKw / DnF1NBCgIAuKAoRAIPcOxw7Y =” 如您所见,java编码的字符串比php编码的长。 请提出宝贵的建议。 我需要找出他们的默认编码格式。 如何从两者中获取相同的编码字符串。? java / android代码: String encrypted = “†+ Ü]M(‡ =ñö”; byte[] encoded = Base64.encode(encrypted.getBytes(), Base64.DEFAULT); String str = new String(encoded); //str = “4oCgKw/DnF1NBCgIAuKAoRAIPcOxw7Y=”

Firebase如何发送主题通知

我使用下面的脚本向特定用户发送通知: “abc”, ‘title’ => “Hello from Api”, ‘vibrate’ => 1, ‘sound’ => 1, ); $fields = array ( ‘registration_ids’ => $registrationIds, ‘notification’ => $msg ); $headers = array ( ‘Authorization: key=’ . API_ACCESS_KEY, ‘Content-Type: application/json’ ); $ch = curl_init(); curl_setopt( $ch,CURLOPT_URL, ‘https://fcm.googleapis.com/fcm/send’ ); curl_setopt( $ch,CURLOPT_POST, true ); curl_setopt( $ch,CURLOPT_HTTPHEADER, $headers ); curl_setopt( $ch,CURLOPT_RETURNTRANSFER, true ); […]

用json返回一个blob

我正在尝试为我的Android应用程序创建一个rest服务,其中外部数据库返回要存储在应用程序本地数据库中的项目。 除了blob返回为null之外,我已经完成了所有工作。 这是我的杰森回应的一个例子。(图片和缩略图字段是blob) {“id”:”2″,”user_id”:”1″,”name”:”testing”,”type”:”bouldering”,”picture”:null,”lat”:”36″,”long”:”81″,”alt”:”41932″,”accuracy”:”53″,”thumbnail”:null} 这是我的PHP脚本返回数据。 query($sql); $spots = array(); //array to parse jason from while($spot = $results->fetch_assoc()){ $spots[] = $spot; } echo json_encode($spots); ?> 有人知道这个问题的解决方案吗? 我知道我不是最有效的方式(更好地将图像存储在文件系统中),但我需要这个才能工作。

使用移动网页检测Android设备是否已安装在设备上 – PHP和JS

我有这样的要求,类似于Android Pit app-store实现的要求。 我需要检查Android应用程序是否已使用移动网页(PHP和JS)安装在设备上,如果已安装,请立即启动应用程序。 这些是Android pit使用的中间页面。 尚未安装应用时 – http://www.androidpit.com/en/android/market/app-center-mobile?pname=com.ocito.laredoute 已安装应用程序时 – http://www.androidpit.com/en/qrdl/com.mobage.ww.a692.Bahamut_Android 有谁知道如何实现这个?