Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/264.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/mysql/55.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
php上传文件到文件夹中_Php_Mysql - Fatal编程技术网

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将多个图像上载到文件夹中。代码可以打印出文件名,这意味着我得到了文件,但现在它没有上传它们,我没有得到任何错误:下面是我的代码

<?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";
}

上面的代码将遍历所有上传的文件并打印其当前文件名。

原因可能有多种:

  • 在尝试将文件从临时位置移动到目标位置之前,目标文件夹必须存在,并且必须是可写的

  • move_uploaded_文件将第二个参数作为文件名,后跟目录名,因此它可以是如下内容:target folder/user.file.name.ext

  • 如果要上载多个文件,则必须访问$\u文件,如链接所示:

  • 对于可能遇到的php错误消息,以下是一个列表:


  • 这可能有多种原因:

  • 在尝试将文件从临时位置移动到目标位置之前,目标文件夹必须存在,并且必须是可写的

  • move_uploaded_文件将第二个参数作为文件名,后跟目录名,因此它可以是如下内容:target folder/user.file.name.ext

  • 如果要上载多个文件,则必须访问$\u文件,如链接所示:

  • 对于可能遇到的php错误消息,以下是一个列表:


  • 嘿,如果您要发送多个文件,
    $\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'].我已经编辑过了。请用那个