|
|
|
อยากทราบว่าถ้าจะแปลงจาก PHP ไปเป็น javascript จะได้ไหมครับโค๊ดตัว php อยู่ข้างในครับ |
|
|
|
|
|
|
|
ฟังก์ชั่น qpost() นี่มันมีการทำงานอะไรบ้างครับ ลองเอาส่วนประกาศฟังก์ชั่นนั้นมาให้ดูหน่อยครับ
เพราะ qpost() ไม่ใช่ฟังก์ชั่นที่มีอยู่ปกติใน PHP แต่เป็น user defined function ครับ
จึงยังบอกไม่ได้ว่าจะแปลงเป็น javascript ยัีงไง
|
|
|
|
|
Date :
2013-06-13 23:42:53 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Code (PHP)
function qpost($u, $t, $p){
$wurl = $u;
$template = $t;
$pd = $p;
$cate = "test";
$user = "test";
$pass = "123456";
$content9 = array(
'title'=>$pd,
'description'=>$template,
'mt_allow_comments'=>0,
'mt_allow_pings'=>0,
'post_type'=>'post',
'categories'=>array($cate),
);
$wp_url = 'http://'.$wurl.'/xmlrpc.php';
$client = new IXR_Client($wp_url);
$params = array(0,$user,$pass,$content9,true);
if (!$client->query('metaWeblog.newPost', $params)) {
die('Something went wrong - '.$client->getErrorCode().' : '.$client->getErrorMessage());
}else{
$response = $client->getResponse();
}
return $response;
}
ประมานนี้ครับ
|
|
|
|
|
Date :
2013-06-13 23:49:27 |
By :
Spiderman |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
อืม มันเป็นโค้ด XML RPC สินะครับ มีการเชื่อมต่อออกไปข้างนอก
รัน 5000 ครั้งคงเกินลิมิตของเซิร์ฟเวอร์คุณที่เขากำหนดไว้ล่ะมั้งครับ
อาจจะเป็นการโดน kill process เพราะมีการเชื่อมต่อออกข้างนอกที่เยอะผิดปกติต่อ request
อาจจะไม่ใช่เรื่องของการหมดเวลา
ถ้าเป็นอย่างนี้แทนจะได้มั้ยครับ
ลองหาดูว่าค่า $count สูงสุดที่เซิร์ฟเวอร์ยอมให้ทำงานจนจบ อยู่ที่เท่าไหร่
แล้วใช้ ajax เรียกใช้ script โดยส่งค่า $i ไปให้ และทำงานตามรอบสูงสุดนั้น
ที่ไม่ใช้ javascript แทน เพราะทำไม่ได้ครับ เพราะจะติด sandbox Access-Control-Allow-Origin
run.php
<?php
for($i = $_POST['i'], $n = $i + 100; $i < $n; ++$i) {
// do something
}
echo $i;
ไฟล์ผู้เรียก
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script>
var i = 0;
$(function () {
function post() {
$.post(
'run.php',
{ i: i },
function (data) {
i = Number(data);
$("#progress").text(i);
if (i === 5000) {
return;
}
post();
}
);
}
post();
});
</script>
</head>
<body>
<div id="progress"></div>
</body>
</html>
|
|
|
|
|
Date :
2013-06-14 00:14:24 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ในส่วนนี้ครับ
Code (PHP)
if (i === 5000) {
ที่พี่ให้มา ตรง 5000 ถ้าผมจะให้ดึงค่าจากตัวแปร
Code (PHP)
$count = 5000;
จะต้องใส่อย่างไรครับ เพราะว่า Count ค่าจะไม่คงที่ครับเพราะจะเป็นจำนวนที่นับ reccord ของ sql มาอีกทีคับ
|
|
|
|
|
Date :
2013-06-14 00:38:53 |
By :
Spiderman |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
ให้ลองเพิ่มเงื่อนไขใน PHP
Code (PHP)
<?php
for($i = $_POST['i'], $n = $i + 100; $i < $n; ++$i) {
// do something
}
// ถ้า $i ยังน้อยกว่า 5000 (หรืออื่นๆ ตามที่กำหนด) ก็ให้คืนค่า $i กลับไป
if ($i < 5000) {
echo $i;
}
และเปลี่ยนเงื่อนไขใน js
Code (PHP)
<html>
<head>
<script src="http://ajax.googleapis.com/ajax/libs/jquery/1.10.1/jquery.min.js"></script>
<script>
var i = 0;
$(function () {
function post() {
$.post(
'run.php',
{ i: i },
function (data) {
// ถ้าไม่มีข้อมูลส่งกลับมา แสดงว่าการทำงานครบรอบแล้ว
if (data === "") {
return;
}
i = Number(data);
$("#progress").text(i);
post();
}
);
}
post();
});
</script>
</head>
<body>
<div id="progress"></div>
</body>
</html>
|
|
|
|
|
Date :
2013-06-14 00:45:20 |
By :
cookiephp |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
และถ้าหากผมจะเพิ่มตัวแปรประมานนี้เข้าไปจะต้องใส่ยังไงครับ
Code (PHP)
var uuu = document.form1.uuu.value;
var ttt = document.form1.ttt.value;
var ppp = document.form1.ppp.value;
var i = document.form1.ccc.value;
คือจะลองทำ form post คับเพราะมันต้องส่งค่าไปทั้งหมด 4 ตัวตามด้านบน คับ i คือจำนวนรอบ ส่วนที่เหลือเป็นข้อมูลครับ
ขออภัยด้วยนะครับที่อาจจะถามเยอะไปนิดครับพอดีมือใหม่มากๆครับ
|
|
|
|
|
Date :
2013-06-14 01:03:49 |
By :
Spiderman |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
Load balance : Server 05
|