小编Mar*_*ean的帖子

返回对象中项目总数的最佳RESTful方法是什么?

我正在为我参与的大型社交网站开发REST API服务.到目前为止,它的工作效果很好.我可以发出GET,POST,PUTDELETE请求对象的URL和影响我的数据.但是,此数据被分页(一次限制为30个结果).

但是,通过我的API获取发言人总数的最佳REST方式是什么?

目前,我向URL结构发出请求,如下所示:

  • / api / members-返回一个成员列表(如上所述,每次30个成员)
  • / api/members/1 -影响单个成员,具体取决于使用的请求方法

我的问题是:如何使用类似的URL结构来获取应用程序中的成员总数?显然id只需要返回30个结果就可以只请求该字段(类似于Facebook的图谱API)并计算结果是无效的.

rest restful-url

131
推荐指数
8
解决办法
10万
查看次数

通过cURL从PHP中的表单POST发送文件

我正在编写API,我想要处理表单上的文件上传POST.表单的标记不是太复杂:

<form action="" method="post" enctype="multipart/form-data">
  <fieldset>
    <input type="file" name="image" id="image" />
    <input type="submit" name="upload" value="Upload" />
  </fieldset>
</form>
Run Code Online (Sandbox Code Playgroud)

但是,我很难理解如何处理此服务器端并发送cURL请求.

我熟悉用POSTcURL 发送带有数据数组的请求,我读过的关于上传文件的资源告诉我在文件名前加上一个@符号.但是这些相同的资源具有硬编码的文件名,例如

$post = array(
    'image' => '@/path/to/myfile.jpg',
    ...
);
Run Code Online (Sandbox Code Playgroud)

这是哪个文件路径?我在哪里可以找到它?它会是什么样的$_FILES['image']['tmp_name'],在这种情况下我的$post数组应该是这样的:

$post = array(
    'image' => '@' . $_FILES['image']['tmp_name'],
    ...
);
Run Code Online (Sandbox Code Playgroud)

或者我是以错误的方式来做这件事的?任何建议都将非常感激.

编辑:如果有人可以给我一个代码片段,我将使用以下代码片段,那么我将非常感激.我主要是作为cURL参数发送的内容,以及如何将这些参数与接收脚本一起使用的示例(让我们curl_receiver.php为了参数而调用它).

我有这个网页表格:

<form action="script.php" method="post" enctype="multipart/form-data">
  <fieldset>
    <input type="file" name="image />
    <input type="submit" name="upload" value="Upload" />
  </fieldset>
</form>
Run Code Online (Sandbox Code Playgroud)

这将是script.php:

if (isset($_POST['upload'])) {
    // cURL …
Run Code Online (Sandbox Code Playgroud)

php curl image-uploading

44
推荐指数
4
解决办法
10万
查看次数

从HTML标记中删除样式属性

我对正则表达式不是很好,但是使用PHP我想要style从TinyMCE中返回的字符串中删除HTML标签中的属性.

所以转变<p style="...">Text</p>为香草<p>Test</p>.

我将如何通过preg_replace()功能实现这一目标?

php regex tinymce

42
推荐指数
3
解决办法
10万
查看次数

是否可以设置$ _SERVER ['HTTP_USER_AGENT']?

我刚刚浏览了一个网站error_log,其中一个错误记录了几次:

[21-Jun-2011 12:24:03] PHP Notice: Undefined index: HTTP_USER_AGENT in /home/ukevents/public_html/lib/toro.php on line 130

toro.php中的这一行是:

private function ipad_request() {
    return strstr($_SERVER['HTTP_USER_AGENT'], 'iPad');
}
Run Code Online (Sandbox Code Playgroud)

是否可以$_SERVER['HTTP_USER_AGENT']不通过HTTP请求设置?

php user-agent error-log

25
推荐指数
3
解决办法
2万
查看次数

计算亚马逊商城API签名的问题

我正在尝试计算签名以进行亚马逊商城API调用,但我不断收到以下错误:

我们计算的请求签名与您提供的签名不匹配.检查您的AWS Secret Access Key和签名方法.有关详细信息,请参阅服务文档

我已将签名创建过程包装到一个类中:

<?php
namespace App\Marketplace\Amazon;

class Signature
{
    protected $signedString;

    public function __construct($url, array $parameters, $secretAccessKey)
    {
        $stringToSign = $this->calculateStringToSign($url, $parameters);

        $this->signedString = $this->sign($stringToSign, $secretAccessKey);
    }

    protected function calculateStringToSign($url, array $parameters)
    {
        $url = parse_url($url);

        $string = "POST\n";
        $string .= $url['host'] . "\n";
        $string .= $url['path'] . "\n";
        $string .= $this->getParametersAsString($parameters);

        return $string;
    }

    protected function sign($data, $secretAccessKey)
    {
        return base64_encode(hash_hmac('sha256', $data, $secretAccessKey, true));
    }

    protected function getParametersAsString(array $parameters)
    {
        uksort($parameters, 'strcmp');

        $queryParameters = [];

        foreach …
Run Code Online (Sandbox Code Playgroud)

php amazon-mws amazon-marketplace

20
推荐指数
1
解决办法
1641
查看次数

Facebook iframe无法在IE中工作; 会话/登录问题?

我的Facebook画布iframe应用程序有问题.

我正在使用会话来构建一个简单的问卷式应用程序.每个页面都有一个问题,当提交表单时,答案存储在会话数组中,页码加1,然后显示下一个问题.简单的东西.

但是这个应用程序; 适用于除Internet Explorer之外的所有浏览器.

在Internet Explorer中,在页面更改时,它似乎会经历另一个页面更改,这会使会话无效,并重新开始.我搜索和搜索,但似乎无法找到这种行为的原因.

我已将应用程序的源代码放在http://gist.github.com/613083.该应用程序使用Facebook提供的标准PHP SDK,网址http://www.github.com/facebook/php-sdk.

php cookies session facebook

14
推荐指数
1
解决办法
9145
查看次数

下拉列表中的Bootstrap下拉列表

是否可以使用Bootstrap进行多级下拉?

所以这将是结构:

下拉   菜单:
  - 第一个选项
  - 第二个选项
- 此
      选项中的另一个下拉菜单
      - 第二个下拉菜单的第一个选项- 第二个下拉菜单的第二个选项
  - 第一个下拉菜单的第三个选项

这可能吗?

html javascript css twitter-bootstrap

12
推荐指数
2
解决办法
3万
查看次数

如何在包中安排Artisan命令?

我有一个包含Artisan命令的包.我通过我的服务提供商向Artisan注册了这些命令,如下所示:

/**
 * Register the application services.
 *
 * @return void
 */
public function register()
{
    // Register Amazon Artisan commands
    $this->commands([
        'App\Marketplace\Amazon\Console\PostProductData',
        'App\Marketplace\Amazon\Console\PostProductImages',
        'App\Marketplace\Amazon\Console\PostProductInventory',
        'App\Marketplace\Amazon\Console\PostProductPricing',
    ]);
}
Run Code Online (Sandbox Code Playgroud)

但是,这些命令需要安排为每天运行.

我知道在app/Console/Kernel.php中有一种schedule()方法可以注册命令及其频率,但是如何在我的包的服务提供者中安排命令呢?

console laravel laravel-5 artisan

12
推荐指数
2
解决办法
3367
查看次数

Django模型中未定义名称

我有一个Django应用程序,其models.py文件中包含以下内容:

from django.db import models

class Event(models.Model):
    date = models.DateField()
    name = models.TextField(max_length=60)
    venue = models.ForeignKey(Venue)

    def __unicode__(self):
        return self.name

class Venue(models.Model):
    name = models.TextField(max_length=60)
    street_address = models.TextField(max_length=60)
    locality = models.TextField(max_length=60)
    region = models.TextField(max_length=60)
    postal_code = models.TextField(max_length=60)
    country_name = models.TextField(max_length=60)
    latitude = models.DecimalField(max_digits=9, decimal_places=6)
    longitude = models.DecimalField(max_digits=9, decimal_places=6)

    def __unicode__(self):
        return self.name
Run Code Online (Sandbox Code Playgroud)

但是当我运行时,python manage.py syncdb我收到以下错误:

NameError:未定义名称"Venue"

为什么这个class Venue在文件中?我做错了什么吗?我刚刚在https://docs.djangoproject.com/en/1.5/intro/tutorial01/上关注了Django教程.

python django

10
推荐指数
1
解决办法
1万
查看次数

生成CloudFront签名URL的问题; 始终拒绝访问

我在使用CloudFront生成签名URL时遇到问题.无论我尝试什么,我只是得到一个"拒绝访问"的回复.

我在CloudFront中创建了一个发行版,以及一个CloudFront密钥对ID.我已经下载了该密钥对ID的私钥和公钥.

在一个简单的PHP脚本中,我正在尝试以下方法:

use Aws\CloudFront\CloudFrontClient;

$cloudfront = new CloudFrontClient([
    'credentials' => [
        'key' => '[redacted]', // Access key ID of IAM user with Administrator policy
        'secret' => '[redacted]', // Secret access key of same IAM user
    ],
    'debug' => true,
    'region' => 'eu-west-1',
    'version' => 'latest',
]);

$expires = strtotime('+6 hours');

$resource = 'https://[redacted].cloudfront.net/mp4/bunny-trailer.mp4';

$url = $cloudfront->getSignedUrl([
    'url' => $resource,
    'policy' => json_encode([
        'Statement' => [
            [
                'Resource' => $resource,
                'Condition' => [
                    'DateLessThan' => [
                        'AWS:EpochTime' => $expires,
                    ], …
Run Code Online (Sandbox Code Playgroud)

amazon-web-services amazon-cloudfront

10
推荐指数
1
解决办法
235
查看次数