Блог пользователя z56

Автор z56, история, 8 лет назад, По-русски
<?php
$in_f=fopen('cinemaholics.in', 'r');
$Max=trim(fgets($in_f)); $Mel=trim(fgets($in_f));
fclose($in_f);
$Max=explode(' ', $Max); $Mel=explode(' ', $Mel);
function persTime($pers){ return $pers[0]*3+$pers[1]*20+$pers[2]*120; }
$MaxTime=persTime($Max); $MelTime=persTime($Mel);
if($MaxTime>$MelTime) $out='Max';
elseif($MaxTime<$MelTime) $out='Mel';
else $out='Draw';
$out_f=fopen('cinemaholics.out', 'w');
fputs($out_f, $out.PHP_EOL);
fclose($out_f);

Не работает на задаче http://mirror.codeforces.com/gym/101110/problem/A , но отлично работает на моём локальном PHP CLI.

По дороге я читал FAQ и там что-то было про PHP и файлы и их неработоспособность, но не уверен, может показалось.

  • Проголосовать: нравится
  • +12
  • Проголосовать: не нравится

»
8 лет назад, # |
  Проголосовать: нравится 0 Проголосовать: не нравится

Так выложи полный код. Что такое $out?

»
8 лет назад, # |
  Проголосовать: нравится +13 Проголосовать: не нравится

Пожалуйста, оборачивайте код в специальный тег в посте или выкладывайте на pastebin.com с подсветкой синтаксиса.

Кажется, что добавлять __DIR__.DIRECTORY_SEPARATOR незачем — можно просто передать имя файла, он по умолчанию считается лежащим в текущей директории. По крайней мере, для вывода это работает.

У меня получилось добиться корректного вывода в файл, используя режим "w" для записи в файл вместо "r+". Последний предполагает, что файл существует в момент открытия, что может быть неверно.

Однако входной файл по-прежнему почему-то не открывается на чтение.

  • »
    »
    8 лет назад, # ^ |
      Проголосовать: нравится +10 Проголосовать: не нравится

    Спасибо, что пытаетесь помочь. __DIR__.DIRECTORY_SEPARATOR пишу так как тестировать мне так удобнее — запуск скрипта произвожу так:

    Файл С:\Users\Vadim\Desktop\exe.php.lnk:

    Объект: C:\PHP\php.exe -f "C:\Users\Vadim\Documents\Projects\exe.php"
    Рабочая папка: C:\PHP
    Хоткей: Ctrl+Shift+ ~
    

    Файл C:\Users\Vadim\Documents\Projects\exe.php:

    <?php
    ob_start(function($b){
        fwrite(STDOUT,"$b\nPress any key...");
        passthru('pause');
    });
    include 'Codeforces\gym\101096\TaskA.php';
    
    
    • »
      »
      »
      8 лет назад, # ^ |
        Проголосовать: нравится 0 Проголосовать: не нравится

      Кажется, что это баг. В FAQ я не смог найти упоминания о том, что файлы в PHP не работают. Напишите в личку MikeMirzayanov.

»
8 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится

что такое php

  • »
    »
    8 лет назад, # ^ |
      Проголосовать: нравится -7 Проголосовать: не нравится

    Спецальный язык для спорт проггерства в нем из коробки куча всяких фич вроде асоциативных масивов, динамических типизаций и прочего, прогеры в фейсбуке и вк ебашат на нем

»
8 лет назад, # |
  Проголосовать: нравится -13 Проголосовать: не нравится

Мисье знает толк в извращениях.

»
8 лет назад, # |
Rev. 3   Проголосовать: нравится -29 Проголосовать: не нравится

[removed]

»
8 лет назад, # |
  Проголосовать: нравится +3 Проголосовать: не нравится

Есть какая-то проблема, копаю-разбираюсь.