如何通过codeingniter控制器的文件名获取文件扩展名?

时间:2015-07-16 11:47:36

标签: php codeigniter

我使用codeingniter上传了使用 class Selections{ ArrayList<String> items = new ArrayList<String>(); final ArrayList<String> combinationOne = new ArrayList<String>(); final ArrayList<String> combinationTwo = new ArrayList<String>(); final ArrayList<String> combinationThree = new ArrayList<String>(); final ArrayList<String> combinationFour = new ArrayList<String>(); JList list = null; public Selections(){ items.add("11"); items.add("21"); items.add("31"); items.add("41"); items.add("12"); items.add("22"); items.add("32"); items.add("42"); list = new JList(items.toArray()); combinationOne.add("11"); combinationOne.add("12"); combinationTwo.add("21"); combinationTwo.add("22"); combinationThree.add("31"); combinationThree.add("32"); combinationFour.add("41"); combinationFour.add("42"); } public static void main(String[] args) throws Exception { Selectionsselections = new Selections(); selections.runApp(); } private void runApp() { MouseMotionListener mouseMotionListener = new MouseMotionAdapter() { @Override public void mouseDragged(MouseEvent e) { JList eventList = (JList) e.getSource(); addSelectionInterval(eventList); } }; MouseListener mouseListener = new MouseAdapter() { public void mousePressed(MouseEvent mouseEvent) { JList eventList = (JList) mouseEvent.getSource(); int index = eventList.locationToIndex(mouseEvent.getPoint()); if (index >= -1) { addSelectionInterval(eventList); } } }; list.addMouseListener(mouseListener); list.addMouseMotionListener(mouseMotionListener ); list.setCellRenderer(getRenderer()); list.setSelectionMode( ListSelectionModel.MULTIPLE_INTERVAL_SELECTION); // Set the default selection list.addSelectionInterval(0, 0); list.addSelectionInterval(4, 4); JOptionPane.showMessageDialog(null, new JScrollPane(list)); } private void addSelectionInterval(JList eventList) { if (combinationOne.contains(eventList.getSelectedValue())) { eventList.addSelectionInterval(0, 0); eventList.addSelectionInterval(4, 4); } else if (combinationTwo.contains(eventList.getSelectedValue())) { eventList.addSelectionInterval(1, 1); eventList.addSelectionInterval(5, 5); } else if(combinationThree.contains(eventList.getSelectedValue())) { eventList.addSelectionInterval(2, 2); eventList.addSelectionInterval(6, 6); } else if (combinationFour.contains(eventList.getSelectedValue())) { eventList.addSelectionInterval(3, 3); eventList.addSelectionInterval(7, 7); } } private ListCellRenderer<? super String> getRenderer() { return new DefaultListCellRenderer(){ @Override public Component getListCellRendererComponent(JList<?> list, Object value, int index, boolean isSelected, boolean cellHasFocus) { JLabel listCellRendererComponent = (JLabel) super.getListCellRendererComponent(list, value, index, isSelected,cellHasFocus); listCellRendererComponent.setBorder(BorderFactory.createEmptyBorder()); return listCellRendererComponent; } }; } } gifjpg扩展名的用户个人资料照片,现在我想在登录后在网站上显示用户照片,来自png标签i我无法显示所有类型的图像。

使用代码:

<img>

所以,我的计划是在控制器的文件名帮助下获取文件扩展名,然后将该字符串传递给查看文件。但是如何搜索文件以及如何从目录中获取完整的文件名?或任何其他方式?

3 个答案:

答案 0 :(得分:2)

您可以使用pathinfo()来获取文件扩展名。

echo $ext = pathinfo($filename, PATHINFO_EXTENSION);

它将返回文件扩展名

答案 1 :(得分:1)

你可以像使用glob一样使用:

$fileName = glob('assets/images/'.$result->imgid.'.*');

这应返回与模式匹配的文件名数组。

答案 2 :(得分:0)

如果您有文件名,那么为什么需要分析它以检索扩展名?你不能这样做:

<img src="assets/images/<?php echo $filename; ?>" />

因为这应该包含具有适当扩展名的文件名

根据您的评论,此变量可能包含路径信息。在这种情况下,这应该有效。

<img src="assets/images/<?php echo basename($filename); ?>" />

basename()函数将从完整文件路径中检索文件名和扩展名。当然,如果你有一个完整的路径

,这也会有效
<img src="<?php echo $filename; ?>" />