我不知道为什么它不起作用,因为我试图将其上传到某个目录。
#!/usr/bin/perl use CGI qw(:standard);
#use strict;
my $cgi = new CGI;
my $upload_dir = '/home/...';
my $max_files = 3; #maximum number of files allowed.
print $cgi->header(-type => 'text/html');
for (my $count = 1; $count <= $max_files; $count++){
my $filen = "file".$count;
my $file = $cgi->param($filen);
my $filename = $file;
$filename =~ s/^.*(\\|\/)//g;
if($file)
{
open(OUT, ">$upload_dir/$filename") || die print "Fail to upload: $!";
while(<$file>) {
print OUT;
}
close(OUT);
}
}
print "File(s) Uploaded\n";
print qq~
<HTML>
<head></head>
<body>
<h1>
<img src="path/to/myimage">
My Name is blabla.
</h1>
</body>
</HTML> ~;
我将我的图片文件上传到文档根目录,但由于某种原因,该页面无法显示该文件。
答案 0 :(得分:0)
在我看来,脚本应该做的是将文件上传到某个目录。 你说它是这样做的,但页面不显示文件。
所以唯一的问题可能是
<img src="path/to/myimage">
不幸的是,您似乎已经在这里更改了代码,或者完全清楚它为什么不起作用:
注意'myimage'不是您在脚本中写入的文件的名称,因此这不起作用。
如果你的脚本中的内容是正确的,但在此处以不同的方式发布,另一个原因可能是路径。
“path / to /”路径可能不是您所说的路径,您将其存储在'/ home / ...'中 (无论在哪里),并从脚本的路径访问它。所以现在它应该寻找一个子目录“path / to”和一个文件'myimage'。
尝试从脚本路径(../ image_directory/file1)中提供绝对路径(/ home / user / image_directory / file1)或相对路径。
祝你好运由于缺乏声誉,我无法发表评论:/
如果用其他程序打开图像时效果不错, 问题应该是权限或路径。
您是否检查了目录和文件的权限?他们可以阅读吗?
要仔细检查,请尝试访问同一路径中的其他图像或其他路径中的其他图像,依此类推。 HTML通常没有告诉你为什么它无法加载所以你必须进行实验。