2014-12-06 2 views
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 파일을 채우고 싶습니다.

충분히 구체적입니까?

+0

개인적으로 데이터를 한 번 빌드 한 다음 file_put_contents를 사용하여 한 번 작성합니다. 이렇게하면 파일을 잠그는 성가신 문제는 피할 수 있습니다. – VikingBlooded

+0

호출 사이에 일부 echo()를 추가하여 멈추는 위치를 확인할 수 있습니다. XDebug와 같은 디버거가 있다면 더 좋을 것입니다. – LSerni

+0

사이에 에코를 배치했습니다. 아무것도 인쇄하지 않으며, 영원히 거기에 앉아 있습니다. 그리고 나는 file_put_contents를 시도했지만 아직 아무것도하지 않았습니다. 그것은 너무 링크 된 웹 페이지를로드하지 않습니다. –

답변

1

파일에 대한 고급 제어가 필요하지 않는 한 fopen()fwrite() 대신 file_put_contents()을 사용해보십시오.

관련 문제