Кто-нибудь может объяснить этот код? Как это можно эмулировать с помощью PHP?

Поэтому я пытаюсь сделать относительно сложный скрипт php, используя некоторый код, написанный на pike. Полный исходный код доступен здесь: http://www.text-image.com/pic2html.pike. Это только опыт обучения, так как я не собираюсь его выпускать. Однако я хотел бы, чтобы это заработало!

int main(int arg 

            if (temp > 10485760) {
                werr("Image too large (10MB limit).");
                return 0;
        }

        string info = Stdio.stdin.read(temp);

        if (strlen(info) < temp) {
                werr("Insufficient data uploaded.");
                return 0;
        }

Я понимаю оператор if в строке 3."Если целое число" temp "больше 10485760, выполните функцию" werr "со строкой (" Изображение слишком большое (ограничение 10 МБ. ");

Я также понимаю оператор if в строке 8, который очень похож на первый оператор.

Что я не понимаю, так это

string info = Stdio.stdin.read(temp);

Я не понимаю

int main(int arg 

Если бы мне пришлось угадывать, я бы сказал, что результат функции будет применен к целому числу под названием "основной"? Это правильно? Как это можно эмулировать в php?

Спасибо за ваше время!

2 ответа

Решение

Я не знаю этот язык, но, похоже, очень похож на C++.

:

int main(int arg 

это начало основной функции, которой нет в PHP, поэтому вы можете просто ее опустить. В скомпилированных языках главная функция - это первая функция, которая вызывается при запуске программы. В PHP запрашиваемый файл - это просто строка за строкой.

И то:

string info = Stdio.stdin.read(temp);

как будто:

std::string info;
std::cin >> info;

который только что прочитал из стандартного потока ввода. В PHP нет ничего такого, как iostream, входные данные - файлы cookie, POST, GET, DELETE, PUT и т. Д., Которые выполняются по запросу.

Это похоже на код C++ (amybe Java или C#? Но я не знаю ни htose). Все программы на C и C++ должны иметь ровно одну функцию с именем main(), Когда исполняется.exe, скомпилированный из кода C или C++, выполнение начинается там. Он возвращает целое число так, чтобы любой вызвавший его мог определить, был ли он успешным или нет.

werr вызов, вероятно, какой-то ребенок "ошибка записи".

Строка 8: string info = Stdio.stdin.read(temp); читает строку из стандартного ввода (stdin), используя стандартные процедуры ввода / вывода (в stdio), и сохраняет ее в переменной с именем info который имеет тип строки.

Чтобы конвертировать в PHP, попробуйте поискать в Google;-)

Подсказка: вам, вероятно, понадобится форма (но посмотрите также этот вопрос).

Другие вопросы по тегам