PHP-скрипт не загружается на локальный хост или веб-хостинг

0

У меня есть 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.

Конкретное желаемое действие: я хотел бы, чтобы мой скрипт загружался каждый раз и заполнял файл csv с помощью полученных HTTP-данных.

Это достаточно для вас?

  • 0
    Мне лично нравится создавать свои данные один раз, а затем записать их один раз, используя file_put_contents. Это позволяет избежать неприятных проблем с блокировкой файла, а что нет.
  • 0
    Вы можете добавить некоторые echo () между вызовами, чтобы увидеть, где он останавливается. Если бы у вас был отладчик, такой как XDebug, это было бы еще лучше.
Показать ещё 1 комментарий
Теги:

1 ответ

1

Попытайтесь использовать file_put_contents() вместо fopen() и fwrite() если вам не нужен расширенный контроль над файлом.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню