0

所以我正在尝试使用一些用 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中模拟?

谢谢你的时间!

4

2 回答 2

2

我不知道这种语言,但似乎与 C++ 非常相似。

这:

int main(int arg 

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

并且:

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

感觉像:

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

刚刚从标准输入流中读取。PHP 中没有 iostream 之类的东西,输入是 cookie、POST、GET、DELETE、PUT 等,并且是根据请求进行的。

于 2013-02-18T02:01:59.633 回答
2

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

这个werr电话可能是一些“写错误”的孩子。

第 8 行:string info = Stdio.stdin.read(temp);使用标准 i/o 例程(在 stdio 中)从标准输入(stdin)读取一行,并将其存储在一个名为infostring 的变量中。

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

提示:您可能需要一个表格(但另请参阅此问题)。

于 2013-02-18T02:02:14.940 回答