我的php脚本必须处理非临时文件名上传,例如,当用户尝试上传文件“Имянарусском.jpg”时。一些方法不能正确处理它,所以我使用:
$overwrite = true;
$slug = true;
\Web::instance()->receive(NULL,$overwrite,$slug);
因此,我在服务器上获得了“ imja-na-russkom.jpg”文件。问题是我需要为数据库捕获该文件名,为此我尝试这样做:
$filename = \Web::instance()->Slug($_FILES['userfile']['name'];
返回“ imja-na-russkom-jpg”-不是文件系统中使用的名称(不是点,而是扩展名前的破折号)。
因此,我的问题是:是否有一种方法可以捕获在Web :: receive()中使用的名称,如果没有,是否可以通过F3来获取名称?谢谢。
好吧,有了ikkez的提示,我明白了:
$a = Web::instance()->receive(NULL,true,true);
$name = array_keys($a);
$name = pathinfo($name['0'], PATHINFO_BASENAME);
在这里,我们将文件上传到服务器上,并将其名称保存到$ name变量中。您可以跳过最后一行并使用
$name = $name['0'];
如果您想保存上传文件的完整路径。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句