CGI 带有参数的脚本

为了传递一个参数给脚本,可以在URL中使用 (?) 插入脚本名词和参数之间, 用加号(+) 表示每个单一的参数, 如:

<A HREF="/cgi-bin/myscript?arg1+arg2+arg3">run my script</A>
当服务器接收到这个请求,它传递 arg1, arg2, 和 arg3 参数给脚本. 你然后能在脚本中使用这些参数.

这个方法有时叫查询, 因为早期它用在搜索功能中.


cgi主要内容如下:

struct dirent *dirp;

DIR *dir;

if((dir = opendir("../music")) == NULL)

{

    perror("fail to opendir music");

     return -1;

}

else

    while((dirp = readdir(dir)) != NULL)

    {

      if(dirp->d_name[0] == '.') continue;

      fprintf(cgiOut,"<a href=\"myscript?%s\"></a>",dirp->name);

     }

...........................................................

myscript内容如下:


#!/bin/sh

echo "Content-type: text/html"

echo

echo "<HTML><HEAD>"
echo "<TITLE>Are you here?</TITLE>"

echo "<HEAD><BODY>"

ison=`ls /www/music`
cd /www/music
for file in $ison
do
    if [ $1 = $file ]
    then
        madplay $1
        exit
else
    echo "$1 no found"
fi
done

echo "It is over"



echo "</BODY></HTML>"



这样我的shell脚本会根据cgi传的参数即目录music下的歌曲的名字,去播放我想要播放的歌曲

一定要注意各个文件的路径


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值