Php 比三重嵌套交换机更好的主意?
嗨,我有一些通过php脚本上传文件的表单,用户选择一个类别,而不是第二个子类别,然后选择文件类型 我必须将它上传到服务器上的正确目录中,路径看起来像..../category/sub-category/type/file.xxx--然后我将整个绝对路径放入我的数据库 到现在为止,我已经有了三重嵌套开关,有没有其他更好的方法 非常感谢Php 比三重嵌套交换机更好的主意?,php,forms,nested,switch-statement,Php,Forms,Nested,Switch Statement,嗨,我有一些通过php脚本上传文件的表单,用户选择一个类别,而不是第二个子类别,然后选择文件类型 我必须将它上传到服务器上的正确目录中,路径看起来像..../category/sub-category/type/file.xxx--然后我将整个绝对路径放入我的数据库 到现在为止,我已经有了三重嵌套开关,有没有其他更好的方法 非常感谢 有一张HTML代码和PHP的图片-->不确定开关是在什么位置出现的。然而,您不能在一个语句中执行以下操作吗 $complete_filepath = "..../$
有一张HTML代码和PHP的图片-->不确定开关是在什么位置出现的。然而,您不能在一个语句中执行以下操作吗
$complete_filepath = "..../$category/$sub_category/$type/$filename";
可能是一个多维数组将帮助您解决它。像这样:
$arr_dir_conf = array("dir_conf" =>
array("category1" =>
array("sub_category1" =>
array("type1" => "directory/category1/sub_category1/type1"),
...
array("typen" => "directory/category1/sub_category1/typen")
),
...
array("sub_categoryn" =>
...
),
),
...
);
move_uploaded_files($_FILES['file']['tmp_name'],
$arr_dir_conf[$category][$subcategory][$type]);
然后您只需像这样使用数组:
$arr_dir_conf = array("dir_conf" =>
array("category1" =>
array("sub_category1" =>
array("type1" => "directory/category1/sub_category1/type1"),
...
array("typen" => "directory/category1/sub_category1/typen")
),
...
array("sub_categoryn" =>
...
),
),
...
);
move_uploaded_files($_FILES['file']['tmp_name'],
$arr_dir_conf[$category][$subcategory][$type]);
这里无法发送代码,太长了,抱歉,伙计们,我第一次来到这里。你不需要发送整个代码,只需发送相关的代码片段。太长了。我添加了一个屏幕截图,希望它是可读的。为什么不把它放在Paste上或这里:图像不是真的可读。我用了更好的方法,找到更好的解决方案,无论如何,谢谢大家!只能从这里猜测,但是您是否也在开关中设置了类别和子类别,因为构建路径不需要知道为什么可以选择的值在下拉列表中。