我从我的应用程序获取图像到这个PHP代码:
<?php
$target = "upload/";
$name="checks";
$target = $target . basename( $_FILES['uploaded'].$name);
if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target))
{
echo "yes";
}
else {
echo "no";
}
?>
问题是我上传的图片的每个名称都以“数组”开头。
例如,$name
现在是“检查”,因此文件名为“Arraychecks”。
为什么会这样?
感谢您的协助。
答案 0 :(得分:1)
$_FILES['uploaded']
是一个数组。
Array
(
[name] => Array
(
[1] => Array
(
[0] =>
)
)
[type] => Array
(
[1] => Array
(
[0] =>
)
)
[tmp_name] => Array
(
[1] => Array
(
[0] =>
)
)
[error] => Array
(
[1] => Array
(
[0] => 4
)
)
[size] => Array
(
[1] => Array
(
[0] => 0
)
)
)
您可能正在寻找$_FILES['uploaded']['name']
答案 1 :(得分:1)
$name = $_FILES['checks']['name'];
$fileElementName = 'checks';
$path = 'upload/';
$location = $path . $_FILES['checks']['name'];
move_uploaded_file($_FILES['checks']['tmp_name'], $location);
现在在您的插入查询中使用$ name
答案 2 :(得分:1)
获取单词Array
是将数组转换为字符串的典型症状:
$data = array(10, 20, 30);
var_dump( (string)$data );
// Notice: Array to string conversion
// string(5) "Array"
从代码中可以明显看出$_FILES['uploaded']
是一个数组,因为你这样做了:
if(move_uploaded_file($_FILES['uploaded']['tmp_name'], $target))
...所以这不对:
$target = $target . basename( $_FILES['uploaded'].$name);
也许你有这个想法:
$target = $target . basename( $_FILES['uploaded']['name'].$name);