当您命名多个具有相同名称和数组索引的文件输入字段时,如下所示:
<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实现背后的原因吗?
当我尝试运行我的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) 我正在尝试<input type="file" />使用Perl 获取元素的MIME类型,但没有实际检查文件本身的内容,换句话说,只使用HTTP头.
我只能获得"multipart/form-type"Content-Type值,但我的理解是每个元素都会获得自己的MIME类型?
如何使用Perl查看子MIME类型?
我正在创建一个网站,并已配置我的Web服务器以将任何动态内容请求路由到index.php.在这个网站上,GET其他一些请求是POST.我该如何区分它们?相关问题是
我需要删除变量中的最后一个页面名称.
这是我的代码到目前为止,但我松开.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脚本: http://pages.cs.wisc.edu/~david/courses/cs552/S12/handouts/bins/
当我打开或下载其中任何一个时,脚本都会执行.但是,我想要脚本中的文本.有什么方法可以做到这一点吗?
我有以下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软件包.
有人可以帮忙吗?谢谢.
我发现使用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) 我正在使用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”以获取更多信息。
有什么建议吗?
我正在使用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)