首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
社区首页 >问答首页 >PHP -创建和上传到目录

PHP -创建和上传到目录
EN

Stack Overflow用户
提问于 2013-01-09 01:02:58
回答 2查看 1.4K关注 0票数 0

我正在尝试上传文件到一个用PHP创建的目录。应用程序应该根据用户的UserID在根目录中创建子目录。(例如,文件/14/)。

正在创建目录,但文件未上载到子目录。

代码如下:

代码语言:javascript
代码运行次数:0
运行
复制
<?php 


                include("dbConfig.php");

                $Username = $_SESSION["username"];

                global $userid;

                $Password = $_SESSION["password"];

                $Password = md5($Password);

                $sql = "SELECT UserID FROM users WHERE Username = '".$Username."'";

                $result = mysql_query($sql) or die(mysql_error());

                while($row = mysql_fetch_assoc($result)) {

                        $userid = $row['UserID'];

                }


                echo $userid;

                $dirname = (string)$userid;

                $filename = ("/folder/" . "$dirname" . "/");

                if (!file_exists($filename))

                {

                            mkdir("files/$dirname", 0777);

                            if (isset($_FILES['files'])) {

                            echo "<div id='files_table'><table class='center'.><tr><td>";

                            $dest = ("files/" . $dirname . "{$_FILES['files']['name'][$key]}");

                            foreach($_FILES['files']['tmp_name'] as $key => $tmp_name){

                            move_uploaded_file($tmp_name, $dest );

                            echo $_FILES['files']['name'][$key], " uploaded.", "<br>";

                            }

                 }else {


                        if (isset($_FILES['files'])) {

                        echo "<div id='files_table'><table class='center'.><tr><td>";

                            $dest = ("files/" . $dirname . "{$_FILES['files']['name'][$key]}");

                            foreach($_FILES['files']['tmp_name'] as $key => $tmp_name){

                            move_uploaded_file($tmp_name, $dest );

                            echo $_FILES['files']['name'][$key], " uploaded.", "<br>";


                    }
                    echo "</td></tr></table></div><br><br>";
                    }




                 }

            }

EN

回答 2

Stack Overflow用户

发布于 2013-01-09 01:18:50

Brain,PHP支持一次上传一个文件,如果表单中有多个文件字段,应该在循环中保留"$dest = ("files/“.key.”{$_FILES‘FILES’$ $dirname }“);”。在循环之外,$Key将为空。

循环不能在temp_name上,temp_name是php要上传的文件的临时副本。

票数 0
EN

Stack Overflow用户

发布于 2013-01-09 01:27:43

修改后的代码如下:

注意:我也纠正了你代码中的一些错误。请进行比较。

代码语言:javascript
代码运行次数:0
运行
复制
<?php 
include("dbConfig.php");
$Username = $_SESSION["username"];
global $userid;
$Password = $_SESSION["password"];
$Password = md5($Password);

$sql = "SELECT UserID FROM users WHERE Username = '".$Username."'";

$result = mysql_query($sql) or die(mysql_error());
while($row = mysql_fetch_assoc($result)) {
   $userid = $row['UserID'];
}


$dirname = (string)$userid;
$filename = ("$dirname" . "/");
if (!file_exists($filename)) {
    mkdir("files/$dirname", 0775);
}

if (isset($_FILES['files'])) {
    echo "<div id='files_table'><table class='center'.><tr><td>";        
    foreach($_FILES['files']['tmp_name'] as $key => $tmp_name){
        $dest = ("files/" . $dirname . "{$_FILES['files']['name'][$key]}");
        move_uploaded_file($tmp_name, $dest );
        echo $_FILES['files']['name'][$key], " uploaded.", "<br>";
    }

} 

?>

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/14220247

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档