php上传文件到文件夹中
我正在尝试使用php将多个图像上载到文件夹中。代码可以打印出文件名,这意味着我得到了文件,但现在它没有上传它们,我没有得到任何错误:下面是我的代码php上传文件到文件夹中,php,mysql,Php,Mysql,我正在尝试使用php将多个图像上载到文件夹中。代码可以打印出文件名,这意味着我得到了文件,但现在它没有上传它们,我没有得到任何错误:下面是我的代码 <?php $target = "image_uploads/"; if(isset($_FILES['FILE_NAME'])){ foreach($_FILES['FILE_NAME']['tmp_name']as $key => $error ){ print_r($key);
<?php
$target = "image_uploads/";
if(isset($_FILES['FILE_NAME'])){
foreach($_FILES['FILE_NAME']['tmp_name']as $key => $error ){
print_r($key);
$file_upload = $key.$_FILES['FILE_NAME']['name'][$key];
#print image names
echo $file_upload.'</br>';
move_uploaded_file($file_upload,$target);
}
}
?>
您的目标文件夹可能无法写入 我还认为,你没有出错的原因是,你有以下几点:
print_r($key);
你应该有:
print_r($error);
您的目标文件夹可能不可写 我还认为,你没有出错的原因是,你有以下几点:
print_r($key);
你应该有:
print_r($error);
在target中,您还必须提供文件名。请使用下面的代码
$target = "image_uploads/";
if(isset($_FILES['FILE_NAME'])){
foreach($_FILES['FILE_NAME']['tmp_name'] as $key => $error ){
print_r($key);
$file_upload = $key.$_FILES['FILE_NAME']['name'][$key];
print image names
echo $file_upload.'</br>';
move_uploaded_file($file_upload,$target.$_FILES['FILE_NAME']['name']);
}
}
$target=“image_uploads/”;
如果(isset($\u FILES['FILE\u NAME'])){
foreach($\u FILES['FILE\u NAME']['tmp\u NAME']作为$key=>$error){
打印(钥匙);
$file\u upload=$key.$\u文件['file\u NAME']['NAME'][$key];
打印图像名称
echo$file_上传。“”;
移动上传的文件($file\u upload,$target.$\u文件['file\u NAME']['NAME']);
}
}
在target中,您还必须提供文件名。请使用下面的代码
$target = "image_uploads/";
if(isset($_FILES['FILE_NAME'])){
foreach($_FILES['FILE_NAME']['tmp_name'] as $key => $error ){
print_r($key);
$file_upload = $key.$_FILES['FILE_NAME']['name'][$key];
print image names
echo $file_upload.'</br>';
move_uploaded_file($file_upload,$target.$_FILES['FILE_NAME']['name']);
}
}
$target=“image_uploads/”;
如果(isset($\u FILES['FILE\u NAME'])){
foreach($\u FILES['FILE\u NAME']['tmp\u NAME']作为$key=>$error){
打印(钥匙);
$file\u upload=$key.$\u文件['file\u NAME']['NAME'][$key];
打印图像名称
echo$file_上传。“”;
移动上传的文件($file\u upload,$target.$\u文件['file\u NAME']['NAME']);
}
}
我认为问题出在foreach循环中
foreach ($_FILES['FILE_NAME']['tmp_name'] as $key => $val) {
// this loops through the tmp_name of $_FILES['FILE_NAME']
// which is a string
}
我想你的意思是:
foreach ($_FILES as $index => $fileArray) {
$tmpName = $fileArray['tmp_name'];
echo "File at key $index is temporarily uploaded at $tmpName";
}
上面的代码将遍历所有上传的文件并打印其当前文件名。我认为问题出在foreach循环中
foreach ($_FILES['FILE_NAME']['tmp_name'] as $key => $val) {
// this loops through the tmp_name of $_FILES['FILE_NAME']
// which is a string
}
我想你的意思是:
foreach ($_FILES as $index => $fileArray) {
$tmpName = $fileArray['tmp_name'];
echo "File at key $index is temporarily uploaded at $tmpName";
}
上面的代码将遍历所有上传的文件并打印其当前文件名。原因可能有多种:
这可能有多种原因:
嘿,如果您要发送多个文件,
$\u文件
应该是一个文件数组,并且应该这样使用:$\u文件['file\u NAME'][0]['tmp\u NAME']
作为第一个文件等。嘿,如果您要发送多个文件,$\u文件
应该是一个文件数组,并且应该像这样使用:$\u文件['file\u NAME'][0]['tmp_name']
第一个,等等。谢谢,但我的也一样,但问题是它没有上传到文件夹。你有没有检查是否可写($target)
,检查php是否可以写入文件夹?@ChrisF没有,但我有另一个可以上传的代码,但我现在只想启动我自己的代码,这样我就可以很好地理解了(谢谢Chris)谢谢,但我的也可以,但问题是它没有上传到文件夹。你是否检查了是否可写($target)
,以检查php是否可以写入文件夹?@ChrisF否,但我有另一个可以上传的代码,但我现在只想开始自己的代码,以便我能很好地理解(谢谢Chris)@汉弗莱:它是否会进入foreach循环?给foreach一些空间as@humphery:文件名为$\u FILES['file\u name']['name']。我已编辑。请使用that@humphrey:是否进入foreach循环?请在foreach中留出一些空间as@humphery:文件名为$\u FILES['file\u name']['name'].我已经编辑过了。请用那个