添加到文件名的额外扩展名(PhP)
因此,经过几周的工作,我几乎完善了我的图像托管服务,但这是我唯一需要解决的问题 下面的字符串只是获取文件名,但我发现删除任意一端的[$I]或删除字符串的某些部分,文件名的处理方式将会改变。 让我们假设我们的文件名为taco.png添加到文件名的额外扩展名(PhP),php,Php,因此,经过几周的工作,我几乎完善了我的图像托管服务,但这是我唯一需要解决的问题 下面的字符串只是获取文件名,但我发现删除任意一端的[$I]或删除字符串的某些部分,文件名的处理方式将会改变。 让我们假设我们的文件名为taco.png $file_name[$i]=($_FILES['file']['name'][$i]); 这是目前最有效的方法。这导致了taco.png.png,但我不想要第二个.png,所以我尝试了这个 $file_name=($_FILES['file']['name'][$
$file_name[$i]=($_FILES['file']['name'][$i]);
这是目前最有效的方法。这导致了taco.png.png,但我不想要第二个.png,所以我尝试了这个
$file_name=($_FILES['file']['name'][$i]);
删除第一个i后,我们得到t.png,它只保留第一个字母,但第二个.png不见了。。。耶
$file_name[$i]=($_FILES['file']['name']);
删除第二个[$i]将导致Array.png
任何其他操作都会导致语法错误
有什么想法吗?我想你有以下Html:
<input type="file" name="file[]" />
<input type="file" name="file[]" />
<input type="file" name="file[]" />
您可以选择:
<input type="file" name="foo" />
<input type="file" name="bar" />
<input type="file" name="baz" />
如果你
var\u dump($\u FILES)
你就会明白为什么。这是因为你的$\u FILES
是一个多维数组,这意味着它看起来是这样的:array([0]=>array(),[1]=>array()……等等)
@Darren好的,那么我该如何改变它呢?我是一个较新的脚本编写者,这个脚本最初来自一个简单的图像托管脚本,我从没有使用过$\u FILES变量。您需要循环,因为我假设这是在for
/foreach
/while
循环中?并实际为每个值创建名称。好吧,事实证明,[$i]在两端都是毫无意义的,我删除了它们,脚本也没有改变。只有一个文件上载字段。然后创建$\u FILES['file']['name'][0]
,但在这种情况下它不应该是数组。添加[0]只会再次导致t.png,不幸的是,这仍然不是解决方案。那么什么是print\r($\u POST)
?确保它不在代码中:D(这是一种调试方法)
<input type="file" name="foo" />
<input type="file" name="bar" />
<input type="file" name="baz" />
$fooFileName = $_FILES['foo']['name'];
$barFileName = $_FILES['bar']['name'];
$bazFileName = $_FILES['baz']['name'];