我想对我的文件进行验证。我的文件示例为header.php
,footer.php
,sidebar.php
,info.php
等。因此,如果错过了其中一些文件,则会显示错误。
$required = 'header.php';
if (!file_exists($required)) {
die('Please upload files properly');
}
如何用简单代码验证所有文件?
答案 0 :(得分:1)
$files = array("header.php", "footer.php", "sidebar.php");
foreach($files as $required){
if (!file_exists($required)) {
die('Please upload files properly');
}
}
答案 1 :(得分:1)
使用您已有的代码,您可以使用PHP(优秀)foreach
语句:
$required = array("header.php", "footer.php", "sidebar.php", "info.php");
foreach($required as $req) {
if(file_exists($req)) continue;
die("Please upload files properly.");
}
话虽如此,这听起来像是require
和require_once
个关键字:
require "header.php"; /* Will puke if header.php is missing. */
答案 2 :(得分:1)
只需使用foreach
来迭代数组:
$required = array('header.php', 'footer.php', 'sidebar.php', 'info.php');
foreach ($required as $required) {
if (!file_exists($required)) {
die('Please upload files properly');
}
}
编辑我使用与数组本身相同的变量并不是错误。 foreach
使用数组的内部副本而不是数组本身:
注意:除非引用了数组,否则 foreach 将在指定数组的副本上运行,而不是数组本身。 foreach 对数组指针有一些副作用。不要在foreach期间或之后依赖数组指针而不重置它。
虽然$required
中的原始数组被第一次迭代覆盖,但内部数组最初传递给foreach
。这可能不是最好的做法,因为在不知道时会有点混乱。但它绝对有效。
答案 3 :(得分:1)
您自己的应用程序的验证是否真的有意义?无论如何,如果你真的想这样做:
foreach
迭代数组中的所有文件。