有谁能解释这段代码?怎么用PHP模拟?

时间:2013-02-18 01:51:05

标签: php web-applications pike

所以我试图制作一个相对复杂的PHP脚本,使用一些用派克编写的代码。完整的源代码可在此处获取: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;
        }

我理解第3行的if语句。“如果整数'temp'大于10485760,则用字符串执行'werr'函数('Image too large(10MB limit。');

我也理解第8行的if语句,它与第一个语句非常相似。

我不明白的是

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

我不明白

int main(int arg 

如果我不得不猜测,我会说该函数的结果会应用于一个名为'main'的整数?是对的吗?怎么可以在PHP中模拟?

谢谢你的时间!

2 个答案:

答案 0 :(得分:2)

我不懂这种语言,但看起来与C ++非常相似。

在:

int main(int arg 

是PHP中不存在的主函数的开头,因此您可以省略它。在编译语言中,main函数是程序启动时要调用的第一个函数。在PHP中,请求的文件只是每行执行一行。

而且:

string info = Stdio.stdin.read(temp);
感觉就像:

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

刚从标准输入流中读取。 在PHP中没有iostream这样的东西,输入是cookies,POST,GET,DELETE,PUT等,并且是根据请求制作的。

答案 1 :(得分:2)

这看起来像C ++代码(amybe Java或C#?但我不知道htose)。所有C和C ++程序必须只有一个名为main()的函数。当从C或C ++代码运行编译的.exe运行时,从那里开始执行。它返回一个整数,这样任何调用它都可以判断它是否成功。

werr调用可能是“写错误”的一小部分。

第8行:string info = Stdio.stdin.read(temp);正在使用标准输入/输出(stdio)从标准输入(stdin)读取一行,并将其存储在名为info的变量中,该变量的类型为string。 / p>

要转换为PHP,请尝试使用Google搜索; - )

提示:你可能需要一个表格(但另见this question)。