0
나는 나를 위해 단순히로드 실 거예요 PHP 스크립트가 있습니다.PHP 스크립트가 로컬 호스트 또는 웹 호스트에로드되지 않습니다
실행하려고하면 마치 페이지를로드하는 것처럼 보이지만 단순히 아무 일도 일어나지 않습니다.
지정된 파일을 만들지 만 절대 데이터를 채우지 않습니다.
<?php
function time_elapsed_A($secs){
$bit = array(
'y' => $secs/31556926 % 12,
'w' => $secs/604800 % 52,
'd' => $secs/86400 % 7,
'h' => $secs/3600 % 24,
'm' => $secs/60 % 60,
's' => $secs % 60
);
foreach($bit as $k => $v)
if($v > 0)$ret[] = $v . $k;
return join(' ', $ret);
}
$pass = $_POST['$pass'];
// change this to current sessionId
$sessionId = $_POST['sessionId'];
echo $sessionId;
//$apiKey = 'AIzaSyALTBvIbopERsN6zldPA7zwCAmx7dxUSII';
$baseData = 'user_id=2239430076&user_name=GenBrannigan&common_data={"isJailbroken":0,"android_id":"-1","device_type_name":"QMV7B 4.2.2","user_id":2239430076,"sdk_ver":"0092","terrace_type":"google","device_detail_type":"QMV7B","advertising_id":"4f680189-4b8e-404b-8887-293252ef71cd","mac":"-1","s_mac":"-1","device_uid":"4f680189-4b8e-404b-8887-293252ef71cd","idfa":"-1","device_date":"Wed Nov 19 23:25:57 2014","app_type_name":"app","adId":"4f680189-4b8e-404b-8887-293252ef71cd","server_id":76,"s_adid":"-1","isPirated":0,"vendorId":"-1","user_name":"GenBrannigan","SAID":"4f680189-4b8e-404b-8887-293252ef71cd","sh1dId":"-1","md5dId":"-1","pkg_version":"1.7.0","apns_token":"-1","nsuuId":"-1", "device_os_version":"4.2.2"}&ex_data=';
$startTime = time();
echo $startTime;
$csv = fopen("mappedGalaxies.csv", "w");
fwrite($csv, "Planet, System, Galaxy, Username, Score, Debris (M), Debris (C), Alliance, Time\n");
for ($galaxy = 1; $galaxy < 21; $galaxy++) {
for ($system = 1; $system < 601; $system++) {
$ex_data = '{"planet_id":-1,"sid":'.$system.',"language":"en","gid":'.$galaxy.'}';
$sign = md5($sessionId . $ex_data);
$finalData = $baseData . $ex_data . "&type=1";
$url = "http://54.193.106.113/ING004/android1/WebServer/Web/sogame/newControl/nmUniverse/getUniverse?sign=".strtoupper($sign);
$connection = curl_init($url);
curl_setopt($connection, CURLOPT_POSTFIELDS, $finalData);
curl_setopt($connection, CURLOPT_RETURNTRANSFER, true);
curl_setopt($connection, CURLOPT_ENCODING, "gzip");
$result = curl_exec($connection);
$err = curl_error($connection);
$baseObj = json_decode($result, true);
curl_close($connection);
for ($planet = 1; $planet < 16; $planet++) {
$planetData = $baseObj["planets"][$planet];
if (isset($planetData["user_name"])) {
if ($planetData["score"] > $_POST ['minScore']) {
// write out the information
$gala = $planetData["position"][0];
$sys = $planetData["position"][1];
$user = $planetData["user_name"];
$alliance = $planetData["all_name"];
$score = $planetData["score"];
$debris = $planetData["runins"];
$timeOfFind = new DateTime('now');
$burrista = $planet . "," . $sys . "," . $gala . "," . $user . "," . $score . ",". $debris[0] . ",". $debris[1]."," . $alliance . "," . $timeOfFind->format('m-d H:i:s') . "\n";
fwrite($csv, $burrista);
#echo "Found: " . $burrista;
}
}
}
}
}
$endTime = time();
echo "Finished: " . time_elapsed_A($endTime-$startTime) . "\n";
?>
나는 그것을 이해하지 못한다. 그것은 한 번 내 로컬 호스트에서 작동하고 다시 실행할 수 없습니다.
좋아, 여기에 '구체적인'질문이 있습니다. 페이지가 한 번만로드되고 수행해야하는 작업을하지 않는 이유는 무엇입니까? 즉, http 공감을 얻고 언급 된 CSV 파일을 채우는 것입니다.
특정 원하는 동작 : 스크립트가 항상로드되고 검색된 http 데이터로 CSV 파일을 채우고 싶습니다.
충분히 구체적입니까?
개인적으로 데이터를 한 번 빌드 한 다음 file_put_contents를 사용하여 한 번 작성합니다. 이렇게하면 파일을 잠그는 성가신 문제는 피할 수 있습니다. – VikingBlooded
호출 사이에 일부 echo()를 추가하여 멈추는 위치를 확인할 수 있습니다. XDebug와 같은 디버거가 있다면 더 좋을 것입니다. – LSerni
사이에 에코를 배치했습니다. 아무것도 인쇄하지 않으며, 영원히 거기에 앉아 있습니다. 그리고 나는 file_put_contents를 시도했지만 아직 아무것도하지 않았습니다. 그것은 너무 링크 된 웹 페이지를로드하지 않습니다. –