【问题标题】:How to set a path to upload a file in hosting with PHP如何使用 PHP 设置在主机中上传文件的路径
【发布时间】:2019-06-08 18:51:14
【问题描述】:

我想上传一些文件到虚拟主机,不知道文件会保存在哪里。

这是我正在使用的代码。看到我假装将它们保存在 /stage/ 文件夹中。

 <?php
if(isset($_FILES['documents'])){

foreach($_FILES['documents']['tmp_name'] as $key => $tmp_name)
{
    $file_name = $key.$_FILES['documents']['name'][$key];
    $file_size =$_FILES['documents']['size'][$key];
    $file_tmp =$_FILES['documents']['tmp_name'][$key];
    $file_type=$_FILES['documents']['type'][$key];  
    move_uploaded_file($file_tmp,"staging/".time().$file_name);
}
}else{
echo "<form enctype='multipart/form-data' action='hola.php' method='POST'>";
 echo "File:<input name='documents[]' multiple='multiple' type='file'/><input type='submit' value='Upload'/>";

 echo "</form>";
}
?>

虚拟主机文件夹中未显示的文件。我应该在哪里创建 /stage/ 文件夹?是否有某种设置权限?大文件怎么样,有什么限制吗?我使用的是正确的/还是它\?

webhosting tree path

【问题讨论】:

    标签: php web-hosting


    【解决方案1】:

    在foreach中使用这个

    // Upload file
    $moved = move_uploaded_file($file_tmp,"staging/".time().$file_name);
    
    if( $moved ) {
      echo "Successfully uploaded";         
    } else {
      echo "Not uploaded because of error #".$_FILES["documents"]["error"];
    }
    

    它将为您提供以下错误代码值 1 到 8 之一:

    UPLOAD_ERR_INI_SIZE = 值:1;上传的文件超过 php.ini 中的 upload_max_filesize 指令。

    UPLOAD_ERR_FORM_SIZE = 值:2;上传的文件超过 在 HTML 表单中指定的 MAX_FILE_SIZE 指令。

    UPLOAD_ERR_PARTIAL = 值:3;上传的文件只是部分 已上传。

    UPLOAD_ERR_NO_FILE = 值:4;没有上传文件。

    UPLOAD_ERR_NO_TMP_DIR = 值:6;缺少一个临时文件夹。 在 PHP 5.0.3 中引入。

    UPLOAD_ERR_CANT_WRITE = 值:7;无法将文件写入磁盘。 在 PHP 5.1.0 中引入。

    UPLOAD_ERR_EXTENSION = 值:8; PHP 扩展停止了文件 上传。 PHP 没有提供一种方法来确定是哪个扩展导致 文件上传停止;检查加载的扩展列表 phpinfo() 可能会有所帮助。

    【讨论】:

    • @GermanEstradaPacheco 如果是 Array 则使用 print_r($_FILES["documents"]["error"]);
    猜你喜欢
    • 2015-09-07
    • 1970-01-01
    • 2014-01-18
    • 2011-02-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-23
    • 1970-01-01
    相关资源
    最近更新 更多