标签: cgi

为什么表单发布会产生$ _FILES ['thefile'] ['name'] [0]而不是$ _FILES ['thefile'] [0] ['name']?

当您命名多个具有相同名称和数组索引的文件输入字段时,如下所示:
<input type='file' name='thefile[0]'>
<input type='file' name='thefile[1]'>

然后在表单提交中你得到这个:
$_FILES['thefile']['name'][0]
$_FILES['thefile']['name'][1]
依此类推其他字段.

我觉得这很烦人,因为它可以防止重复使用代码进行非数组文件上传.
这会不会更好:?
$_FILES['thefile'][0]['name']等等?

有人知道这个奇怪的CGI/HTML实现背后的原因吗?

html php forms post cgi

1
推荐指数
1
解决办法
223
查看次数

为什么我的Perl CGI程序因"软件错误:......"而失败?

当我尝试运行我的Perl CGI程序时,返回的网页告诉我:

软件错误:如需帮助,请发送邮件给网站管理员(root @ localhost),提供此错误消息以及错误的时间和日期.

这是我在其中一个文件中的代码:


#!/usr/bin/perl

use lib "/home/ecoopr/ecoopr.com/CPAN";
use CGI;
use CGI::FormBuilder;
use CGI::Session;
use CGI::Carp (fatalsToBrowser);
use CGI::Session;
use HTML::Template;
use MIME::Base64 ();
use strict;

require "./db_lib.pl";
require "./config.pl";

my $query = CGI->new; 
my $url = $query->url();
my $hostname = $query->url(-base => 1);
my $login_url = $hostname . '/login.pl';
my $redir_url = $login_url . '?d=' . $url;
my $domain_name = get_domain_name();

my $helpful_msg = $query->param('m');
my $new_trusted_user_fname = $query->param('u');
my $action = …
Run Code Online (Sandbox Code Playgroud)

perl cgi

1
推荐指数
1
解决办法
1022
查看次数

如何使用Perl CGI检查上传文件的MIME类型?

我正在尝试<input type="file" />使用Perl 获取元素的MIME类型,但没有实际检查文件本身的内容,换句话说,只使用HTTP头.

我只能获得"multipart/form-type"Content-Type值,但我的理解是每个元素都会获得自己的MIME类型?

如何使用Perl查看子MIME类型?

perl upload cgi file-upload

1
推荐指数
1
解决办法
2510
查看次数

在PHP中区分GET和POST

我正在创建一个网站,并已配置我的Web服务器以将任何动态内容请求路由到index.php.在这个网站上,GET其他一些请求是POST.我该如何区分它们?相关问题是

  • POST请求期间$ _GET变量的值是多少?
  • GET请求期间$ _POST变量的值是多少?

php cgi

1
推荐指数
2
解决办法
585
查看次数

删除字符串中的最后一个URL名称

我需要删除变量中的最后一个页面名称.

这是我的代码到目前为止,但我松开.jpg扩展,我需要保留它,需要的结果:ImageName256.jpg

#!/usr/bin/perl

print "Content-type: text/html\n\n";

use CGI qw(:standard);
use CGI::Carp qw(warningsToBrowser fatalsToBrowser);


$Variable = "http://www.MyDomain.com/SomefolderPath/ImageName256.jpg";

($LastInUrl) = $Variable =~ m(.*/(\w+));

print $LastInUrl;
Run Code Online (Sandbox Code Playgroud)

perl cgi

1
推荐指数
1
解决办法
578
查看次数

如何从CGI服务器下载perl脚本而不是运行它?

我想从这个网站下载的Perl脚本: http://pages.cs.wisc.edu/~david/courses/cs552/S12/handouts/bins/

当我打开或下载其中任何一个时,脚本都会执行.但是,我想要脚本中的文本.有什么方法可以做到这一点吗?

apache perl firefox cgi

1
推荐指数
1
解决办法
3229
查看次数

"标题前脚本输出结束" - Apache上的CGI

我有以下CGI脚本:

#!c:\cygwin\bin\perl.exe

use CGI qw(:standard);

my $query = $CGI->new;

print header (
  -type   => "text/html",
  -status => "404 File not found"
);

print "<b>File not found</b>";
Run Code Online (Sandbox Code Playgroud)

这给了我一个错误:

Server error!

The server encountered an internal error and was unable to complete your request.

Error message:
End of script output before headers: test.cgi

If you think this is a server error, please contact the webmaster.
Error 500
127.0.0.1
Apache/2.4.10 (Win32) OpenSSL/1.0.1h PHP/5.4.31
Run Code Online (Sandbox Code Playgroud)

我已经看过这个(和其他类似的)问题,但是标题没有被print编辑,而不是我的.

我正在使用Cygwin Perl的XAMPP Windows软件包.

有人可以帮忙吗?谢谢.

apache perl cgi

1
推荐指数
1
解决办法
2220
查看次数

从其他cgi脚本调用cgi脚本

我发现使用perl cgi的一个令人费解的行为 - 我猜 - 有一个完全有效的解释,但我找不到一个.stackoverflow上有这个问题,但它描述的内容似乎对我失败了.情况:我有两个perl cgi脚本.其中一个(让我们说script.pl)可以独立生成一个网站,但也有一个参数让我们调用它,BARE这样它就可以简单地吐出非格式化的信息.

#!/usr/bin/perl                                                                                                                                                                                                                   

use strict;
use CGI;

my $cgi = new CGI;

unless ( defined $cgi->param('BARE') ) {
    print $cgi->header, $cgi->start_html,$cgi->h1('Hello World'), $cgi->end_html;
} else {
    print "Bare";
}
Run Code Online (Sandbox Code Playgroud)

现在,我试图将其"BARE"参数设置为本地脚本(因为它们位于同一目录中)从另一个脚本调用此脚本(让我们调用它call_my_script.pl).

#!/usr/bin/perl                                                                                                                                                                                                                   

use strict;    
use CGI;

my $cgi = new CGI;

my $result = qx(./script.pl "BARE=1");

print $cgi->header,$cgi->start_html,$result,$cgi->end_html;
Run Code Online (Sandbox Code Playgroud)

从命令行运行此脚本时,我得到:

> ./call_my_script.pl 
Content-Type: text/html; charset=ISO-8859-1

<!DOCTYPE html
        PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
         "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US" xml:lang="en-US">
<head>
<title>Untitled …
Run Code Online (Sandbox Code Playgroud)

perl cgi

1
推荐指数
1
解决办法
538
查看次数

在python中运行Curl命令

我正在使用os.system调用在python的CGI脚本中运行以下curl命令,如下所示:

os.system('curl -u username:password -X PUT example.com/data/data1.txt -T /diskless/desktop/file.txt\r\n')
Run Code Online (Sandbox Code Playgroud)

运行CGI脚本时出现以下错误:

'!rl:无法打开'/diskless/desktop/file.txt')curl:尝试使用“ curl --help”或“ curl --manual”以获取更多信息。

有什么建议吗?

python curl cgi

1
推荐指数
1
解决办法
8798
查看次数

Perl CGI元标记视口

我正在使用Perl CGI,我正在寻找如何在标题中包含viewport元,即以下html行:

<meta name = "viewport"
     content = "width = device-width, initial-scale = 1, user-scalable = yes">
Run Code Online (Sandbox Code Playgroud)

我的脚本标题如下:

use strict;
use warnings;
use utf8;
use DBI;
use CGI qw (-any);
use Switch;
my $ cgi = new CGI;

print $ cgi-> header ("text/html; charset=UTF-8");
print $ cgi-> start_html (
  -title => 'List of new movies',
  -author => 'xxxxx@yahoo.fr',
  -lang => 'en',
  -meta => {copyleft => 'xxxxx@yahoo.fr'},
  -style => {-src => 'https://my-web-server.com/style.css'},

);
Run Code Online (Sandbox Code Playgroud)

perl cgi

1
推荐指数
1
解决办法
117
查看次数

标签 统计

cgi ×10

perl ×7

apache ×2

php ×2

curl ×1

file-upload ×1

firefox ×1

forms ×1

html ×1

post ×1

python ×1

upload ×1