PHP 表单 - 下载到 zip
我有以下形式:
<form action="download.php" method="get">
<input type="checkbox" name="file1" /> File1 <br/>
<input type="checkbox" name="file2" /> File2 <br/>
<input type="checkbox" name="file3" /> File3 <br/>
<input type="checkbox" name="file4" /> File4 <br/>
<input type="checkbox" name="file5" /> File5 <br/>
<input type="submit" name="mysubmit" value="Download!">
</form>
然后我不能获取勾选值:
<?php echo $_GET["file1"]; ?>
给出结果: on
但是我想要做的是选择这些选项,每个选项都与一个 PHP 文件相关,on提交的每个文件都被合并成一个 ZIP
任何帮助表示赞赏。
I have the following form:
<form action="download.php" method="get">
<input type="checkbox" name="file1" /> File1 <br/>
<input type="checkbox" name="file2" /> File2 <br/>
<input type="checkbox" name="file3" /> File3 <br/>
<input type="checkbox" name="file4" /> File4 <br/>
<input type="checkbox" name="file5" /> File5 <br/>
<input type="submit" name="mysubmit" value="Download!">
</form>
I cant then GET the ticked value:
<?php echo $_GET["file1"]; ?>
Gives the result: on
However want I want to be able to do is select those options, and each option relates to a PHP file, on Submit each file is combiled into a ZIP
Any help appreciated.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
首先,向表单字段添加一个值字段并将其更改为数组:
接下来,在 download.php 中:
First, add a value field to your form fields and change them to an array:
Next, in download.php:
您可以使用isset($_FILES['file1'])检查file1是否上传
循环自file1 到 file5
将文件从临时路径保存到永久路径
使用 http://php.net/manual/en/book.zip.php & http://php.net/manual/en/ref.zip.php
可选:删除上传的文件(使用 unlink)
强制将 zip 文件下载到浏览器。请参阅: http://php.net/manual/en/function.header.php
这很简单。享受!
You can use isset($_FILES['file1']) to check if file1 is uploaded
Loop from file1 to file5
Save files from temporary paths to permanent ones
Zip them using http://php.net/manual/en/book.zip.php & http://php.net/manual/en/ref.zip.php
Optional: Delete the uploaded files (using unlink)
Force download the zip file to the browser. See this: http://php.net/manual/en/function.header.php
It's quite simple. Enjoy!