Кто-нибудь может объяснить этот код? Как это можно эмулировать с помощью 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;-)
Подсказка: вам, вероятно, понадобится форма (но посмотрите также этот вопрос).