小编Sam*_*qui的帖子

如何使用PHP cURL发布JSON数据?

这是我的代码,

$url = 'url_to_post';
$data = array(
    "first_name" => "First name",
    "last_name" => "last name",
    "email"=>"email@gmail.com",
    "addresses" => array (
        "address1" => "some address",
        "city" => "city",
        "country" => "CA",
        "first_name" =>  "Mother",
        "last_name" =>  "Lastnameson",
        "phone" => "555-1212",
        "province" => "ON",
        "zip" => "123 ABC"
    )
);
$data_string = json_encode($data);
$ch=curl_init($url);
curl_setopt($ch, CURLOPT_CUSTOMREQUEST, "POST");
curl_setopt($ch, CURLOPT_POSTFIELDS, array("customer"=>$data_string));
curl_setopt($ch, CURLOPT_HEADER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER,
    array(
        'Content-Type:application/json',
        'Content-Length: ' . strlen($data_string)
    )
);

$result = curl_exec($ch);
curl_close($ch);
Run Code Online (Sandbox Code Playgroud)

在其他页面,我正在检索发布数据.

    print_r ($_POST);
Run Code Online (Sandbox Code Playgroud)

输出是

HTTP/1.1 …
Run Code Online (Sandbox Code Playgroud)

php rest json curl

115
推荐指数
6
解决办法
26万
查看次数

PHP usort排序多个字段

是否可以用于usort对多维数组中的多个字段进行排序?例如,我想name按字母顺序排序,然后从那些我想要排序的记录中排序age.这可能用sort吗?

Array ( 
    [0] => Array ( 
        [name] => Jonah 
        [age] => 27 
    )
    [1] => Array (
        [name] => Bianca 
        [age] => 32 
    )
)
Run Code Online (Sandbox Code Playgroud)

php arrays sorting multidimensional-array

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

xmlHttp.getResponseHeader +不适用于CORS

我在.NET 4上有一个asp.NET WCF.该服务用于验证用户.我们正在提交用户名和密码,然后应返回包含身份验证cookie的HTTP标头.使用本地托管的测试页面,这是正常的.我现在正在访问头域信息跨域.我已将测试页安装在另一台计算机上,并配置为调用WCF.呼叫正常,呼叫中的"数据"回复正确.但是,我无法使用以下任一方法访问标头信息:

alert(xmlHttp.getAllResponseHeaders());
Run Code Online (Sandbox Code Playgroud)

要么

alert(xmlHttp.getResponseHeader("Set-Cookie"));
Run Code Online (Sandbox Code Playgroud)

使用IE中的调试器和Firefox的"Live HTTP Header"插件,我可以看到正在返回标头信息.

在我的全局ajax页面中,我设置了处理CORS的响应.

private void EnableCrossDomainAjaxCall()
{
    HttpContext.Current.Response.AddHeader("Access-Control-Allow-Origin", "*");


    if (HttpContext.Current.Request.HttpMethod == "OPTIONS")
    {

        HttpContext.Current.Response.AddHeader("Cache-Control", "no-cache");
        HttpContext.Current.Response.AddHeader("Access-Control-Allow-Methods", "GET, POST, PUT, DELETE");
        HttpContext.Current.Response.AddHeader("Access-Control-Allow-Headers", "Content-Type, Accept");

        HttpContext.Current.Response.AddHeader("Access-Control-Max-Age", "1728000");
        HttpContext.Current.Response.End();
    }

}
Run Code Online (Sandbox Code Playgroud)

这是我用来调用服务的AJAX:

$("#btnLogin").click(function(e) {
    var geturl;
    geturl = $.ajax({
        // type: "POST",
        type: "GET",
        contentType: "application/json; charset=utf-8",
        url: 'http://10.0.4.66/AuthenticationService.svc/Login?Name=test&password=pwsd',
        // url: '../SecurityServer/AuthenticationService.svc/Login?Name=test&password=pwsd',
        dataType: "jsonp",
        error: function(request, status, error) {
            alert('Error Occured');
        },
        crossdomain: true,
        success: function(data, textStatus, xmlHttp) {
            // alert(xmlHttp.getResponseHeader("Content-Type"));
            document.write(xmlHttp.getResponseHeader("Content-Type") + "<br/>");
            alert(xmlHttp.getAllResponseHeaders()); …
Run Code Online (Sandbox Code Playgroud)

authentication wcf jquery wcf-security cors

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

file_get_contents():php_network_getaddresses:getaddrinfo failed:名称或服务未知

我正试图在xampp服务器上的网站上使用php脚本从服务器下载图像.

正在使用函数file_get_contents下载映像.

在服务器上下载的php代码是:

if(isset($_GET['path']) && isset($_GET['username'])) {
    echo "path:".$_GET['path'];
    $temp = explode(".", $_GET['path']);
    $extension = end($temp);
    $fname="images/".$_GET['title'];
    $filenameIn  = $_GET['path'];
    $filenameOut = "" . $fname;
    $contentOrFalseOnFailure   = file_get_contents($filenameIn);
    $byteCountOrFalseOnFailure = file_put_contents($filenameOut,$contentOrFalseOnFailure);
}
Run Code Online (Sandbox Code Playgroud)

但是我收到了这个错误:

警告:file_get_contents():php_network_getaddresses:getaddrinfo failed:第19行的/opt/lampp/htdocs/xampp/project/upload_art.php中未知的名称或服务

警告:file_get_contents(http://app6.pixlr.com/_temp/528afa6e2f7cc6a5b1000101.jpg):无法打开流:php_network_getaddresses:getaddrinfo failed:/ opt/lampp/htdocs/xampp/project/upload_art中未知名称或服务.第19行的PHP

我已经检查了所有发布的答案,但似乎没有解决问题.请帮忙!

php api plugins file-get-contents web-development-server

16
推荐指数
3
解决办法
7万
查看次数

无法重载我的课程的逻辑运算符(或)

我试图重载or自定义类的逻辑运算符,但它似乎不起作用。这是我的工作:

class A { has $.a }
multi sub infix:<or> (A $a, A $b) {
    "works!({$a.a}, {$b.a})"
}
say A.new(:1a) or A.new(:2a); 
Run Code Online (Sandbox Code Playgroud)

我期望将其works!(1, 2)作为输出获取,但我会获取A.new(a => 1),这是标准or运算符的结果。

其他运算符(and和除外xor)似乎对我有用:

class A { has $.a }
multi sub infix:<anything-else> (A $a, A $b) {
    "works!({$a.a}, {$b.a})"
}
say A.new(:1a) anything-else A.new(:2a); 
Run Code Online (Sandbox Code Playgroud)

结果works!(1, 2)

我是不是做错了什么或有只是没有办法超载的标准orandxor运营商?

operator-overloading perl6

15
推荐指数
1
解决办法
123
查看次数

缩放用户上传的图片onclick按钮

这是放大和缩小的基本代码:https : //codepen.io/kidsdial/pen/ROBpgM

现在,我尝试将代码集成到我的项目中。

背景

  1. 用户单击蒙版,然后将自己的图像上传到蒙版上。

  2. 图片上传后,“编辑文本”就会显示在图片上。

  3. 用户单击“ 编辑文本”后,我们将显示一个弹出框。

  4. 显示放大和缩小按钮。

问题

当我们单击该按钮时,用户上传的图像不会发生缩放。

在此处输入图片说明

影片连结

Codepen:https ://codepen.io/kidsdial/pen/PgxegO

小提琴:https : //jsfiddle.net/kidsdial1/nhswfjr3/

var target;
const imageUrl = "https://i.imgur.com/RzEm1WK.png";

let jsonData = {
    "layers": [{
        "x": 0,
        "height": 612,
        "layers": [{
                "x": 160,
                "src": "ax0HVTs.png",
                "y": 291,
                "height": 296,
                "width": 429,
                "name": "mask_1"
            },
            {
                "x": 25,
                "src": "hEM2kEP.png",
                "height": 324,
                "width": 471,
                "y": 22,
                "name": "mask_2"
            }
        ],
        "y": 0,
        "width": 612
    }]
};

const …
Run Code Online (Sandbox Code Playgroud)

javascript jquery html5 canvas zoom

12
推荐指数
1
解决办法
1190
查看次数

未捕获(承诺)DOMException:该元素没有支持的来源

在我的 AngularJs 应用程序中使用 music-frequency-d3 进行音频可视化,为此使用 music-frequency-d3 创建了一个 bower 组件,但是当我插入我的音频的网址作为 src 属性的值时,它显示以下错误。

未捕获(承诺)DOMException:该元素没有支持的来源

这里有什么问题?如何使用网址 URL 播放音频?

谢谢你

javascript audio d3.js angularjs

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

获取错误 - 未捕获(承诺)DOMException: play() 失败,因为用户没有先与文档交互

我想播放音频作为警报,但我收到类似“未捕获(承诺)DOMException: play() 失败,因为用户没有先与文档交互。

HTML代码:

<audio id="alarm" src="alarm.mp3"></audio>
Run Code Online (Sandbox Code Playgroud)

JavaScript 代码:

function alarm() {
    var value = document.getElementById("rvoltage").innerHTML;
    if (value > 230) {
        document.getElementById('alarm').play();
    }
}
Run Code Online (Sandbox Code Playgroud)

html javascript css html5-audio

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

Apple iOS浏览器不会随机渲染动态加载的HTML对象

我们的问题只有在我们的SPA应用程序的iOS浏览器(iOS 12.0)上才显而易见,该应用程序使用HTML对象标签通过JavaScript将小部件(HTML / CSS / JS文件)加载到页面上。

问题是,页面加载时出现间歇性问题。某些小部件未在屏幕上显示/呈现,但已加载到DOM中,并且可以在Safari Web Inspector中使用完整元素属性进行查看/突出显示。但对用户“不可见”。如果在页面上加载4个小部件,大约50%的时间会发生此问题,通常不会显示2个,并且每次都不会显示不同的小部件,并且没有可检测的模式。

小部件javascript加载事件正常运行,并且控制台中没有错误。在Safari Web Inspector中,我们可以看到来自非渲染对象的一些HTML元素在位置0,0处加载,但是它们的样式在DOM中是正确的(正确设置了left和top,显示:inline等)。

以下是加载窗口小部件的代码(在设置所有窗口小部件之后,将片段添加到DOM中):

function loadWidget(myFrag, widgetName) {
    var widgetObj = document.createElement("object");
    widgetObj.data = "widgets/" + widgets[widgetName].type + ".html";        // location of widget
    widgetObj.className = "widget unselectable";
    widgetObj.id = widgetName;
    widgetObj.name = widgetName;
    myFrag.appendChild(widgetObj);                                        // build widgets onto fragment
    widgetObj.addEventListener("load", widgetLoaded, false);            // Run rest of widget initialisation after widget is in DOM
    widgetObj.addEventListener("error", badLoad, true);
}
Run Code Online (Sandbox Code Playgroud)

以下是load事件中的代码,用于配置一旦加载的小部件(我们解决了一个Chrome错误,该bug也影响到Safari,Safari对每个加载的对象均触发两次load事件):

function widgetLoaded(e) {
    var loadObj = e.target;
    if (loadObj === null) {
        // …
Run Code Online (Sandbox Code Playgroud)

javascript safari html5 dom ios

6
推荐指数
1
解决办法
360
查看次数

每天从cron工作中获取3个项目

我有一个每天运行的小型PHP Cron作业,可从API获取文件并将其保存到静态文件。

file_put_contents("api.json", fopen("http://example.com/api", 'r'));
Run Code Online (Sandbox Code Playgroud)

该JSON的内容如下所示:

{ 
  recipes: [
  {
    id: 30476,
    title: "Selfmade Chicken Nuggets",
    ...
  }, 
  {...} ] 
}
Run Code Online (Sandbox Code Playgroud)

我的问题:我想创建“每日食谱”逻辑。

因此,我想每天用食谱创建一个额外的数组。

在最好的情况下,我想要这样的东西:

第1步:创建一个包含所有配方的“剩余配方阵列”

步骤2:每天从剩余的食谱数组中获取3个食谱,并将它们放入某种“当日食谱”数组中

步骤3:如果剩余的食谱阵列为空或没有3个元素,请从食谱中重新填充

我的Javascript客户端中已经有了该逻辑:

let fullRecipeList = await this.appData.getRecipeList();
let recipesOfTheDay = await this.appData.getItem("recipesOfTheDay");
let recipesOfTheDayValidUntil = await this.appData.getItem(
    "recipesOfTheDayValidUntil"
);
let remainingRecipes = await this.appData.getItem("remainingRecipes");

if (!remainingRecipes || remainingRecipes.length < 3) {
    remainingRecipes = this.shuffleArray(fullRecipeList);
}

if (
  recipesOfTheDay &&
  moment(recipesOfTheDayValidUntil).isSame(new Date(), "day")
) {
    this.recipeList = recipesOfTheDay;
} else { …
Run Code Online (Sandbox Code Playgroud)

php cron

6
推荐指数
1
解决办法
267
查看次数