php oop文件上传

2024-01-01

我正在研究 oop php 文件上传脚本。很简单。但不起作用。问题是什么?我学习如何使用 $FILE,以及如何编写 oop 风格的代码。

Thanks.

upload.php 是:

<?php
class upload{
    public $src = "./upload/";
    public $tmp;
    public $filename;
    public $type;
    public $uploadfile;

    public function startupload(){
        $this -> filename = $_FILES["file"]["name"];
        $this -> tmp = $_FILES["file"]["tmp_name"];
        $this -> uploadfile = $src . basename($this -> name);
    }
    public function uploadfile(){
        if(move_uploaded_file($this -> tmp, $this -> uploadFile)){
            return true;
        }
    }


}

?>

index.php 是:

<?php 
require_once('./lib/upload.php');
?>

<?php
if(isset($_POST['file'])){
    $fileupload = new upload();
    if($fileupload -> uploadfile()){
        echo 'Fisierul a fost uploadat';
    }
}
?>

<html>
<head></head>
<body>
<form align="center" enctype="multipart/form-data" action="<?php echo htmlspecialchars($_SERVER["PHP_SELF"]); ?>" method="post">
Select upload file: <input type="file" name="file" required="yes"  />
<input type="submit" value="Trimite" />
<p>
</form>
</body>
</html>

我的想法哪里错了?


代码中的问题未触发是因为您检查了 post 变量中的变量文件,但在那里找不到它。正确的方法是

if(isset($_FILES['file'])) {
    $fileupload = new upload();

    if($fileupload -> uploadfile()) {
        echo 'Fisierul a fost uploadat';
    }
}

此外,您的类将无法工作,您应该将变量传递给构造函数并将 upload->startupload() 重命名为 upload->upload

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

php oop文件上传 的相关文章

  • Monolog,如何将 PHP 数组记录到控制台?

    我正在使用浏览器处理程序将消息记录到 JS 控制台 require once vendor autoload php use Monolog Logger use Monolog Handler BrowserConsoleHandler
  • 使用 PHP 将 SVG 图像转换为 PNG

    我正在开发一个网络项目 该项目涉及动态生成的美国地图 根据一组数据为不同的州着色 这个 SVG 文件为我提供了一张很好的美国空白地图 并且很容易更改每个州的颜色 困难在于 IE 浏览器不支持 SVG 因此为了让我使用 svg 提供的便捷语法
  • Godaddy 托管上的 CakePHP 控制台

    我一直在努力让我的 CakePHP 网站在 Godaddy 网格托管 帐户上运行 我的蛋糕应用程序设置是从帐户的子目录托管的 并且可以通过子域访问 我必须调整我的 htaccess 文件才能使其正常工作 现在我需要让 CakePHP 控制台
  • 由于重复捕获组而不是捕获重复组,正则表达式不匹配

    我有以下正则表达式 A G A G 具有以下表达式 A BsCb 我期望 3 个匹配结果 A Bs Cb 但测试在https regex101 com https regex101 com 只给我最后一场比赛Cb 并告诉我重复捕获组只会捕获
  • PHP:STR 替换为链接

    我有这个 PHP 聊天框 如果我在聊天框中键入链接 它不会将其显示为链接 我如何使用 STR 替换来执行此操作 它应该响应诸如 http http com nl www www 之类的内容 我的其他 STR 替换行如下所示 bericht
  • 一个类应该验证自身还是创建另一个类来验证它?

    假设我有一堂课 class NavigationData float roll float pitch double latitude double longitude 如果我想创建一个方法 const bool validate cons
  • 如何使用 PHP 动态插入 CSS 类?

    下面的代码有什么问题 我想在相应的情况下动态插入 当前 CSS 类 li 单击元素 谢谢 section section li
  • cakephp 1.1 与 php 5.3

    我刚刚从 php 5 1 升级到 5 3 之前在我的服务器上使用 cakephp 1 1 自从升级 或者可能更早 我不确定 以来 我收到以下错误 任何人都可以透露一些信息 Deprecated Assigning the return va
  • 从单个 javascript 函数向两个不同的 PHP 脚本发送两个 Ajax 请求

    是否可以同时向两个或多个 Php 脚本发送 Ajax 请求 我知道这可以串行实现 从 1 获取响应 然后从另一个获取响应 但我想知道是否可以同时实现 请协助我使用以下代码 function calShowUpload if http rea
  • Laravel 5.6 - 注册表无法正常工作并且不显示任何错误

    在我最近的一个项目中 定制登记表不管用 当我单击注册按钮时 它会重新加载注册表单 不会打印任何错误 并且不会将数据插入数据库中 这是注册表的外观 这里是移民文件代码 public function up Schema create user
  • 获取目录中最后修改的文件

    有没有办法只选择目录中的最后一个文件 扩展名jpg png gif 或者我是否必须解析整个目录并使用进行检查filemtime 是的 你必须通读它们 但由于目录访问已被缓存 因此您不必真正担心它 files array merge glob
  • .htaccess 在动态文件夹名称中加载索引

    我在 htaccess 加载动态文件夹名称中的索引时遇到问题 这是我的目录结构 root products gt this is constant folder name 而不是使用 GET 获取产品 url root products i
  • 我的 PHP 代码不会将记录插入到 mySQL 数据库表中[关闭]

    这个问题不太可能对任何未来的访客有帮助 它只与一个较小的地理区域 一个特定的时间点或一个非常狭窄的情况相关 通常不适用于全世界的互联网受众 为了帮助使这个问题更广泛地适用 访问帮助中心 help reopen questions 我的网站上
  • Lumen 微框架 => php artisan key:generate

    我正在尝试 PHP 微框架 Lumen 来自 Laravel 我的第一步就是调查 env example文件并复制一份以供我使用 env文件 就像 Laravel 中一样 有一个变量 APP KEY 现在我尝试了简单的命令php artis
  • Mandrill 验证错误

    很高兴能在 StackOverflow 上提出我的第一个问题 多年来我一直依靠它自学了很多东西 我的问题是这样的 尝试通过 Mandrill 的 API 发送邮件时出现以下错误 status error code 1 name Valida
  • 打印表数据mysql php

    我在尝试打印表格的一些数据时遇到问题 我是 php mysql 的新手 但我认为我的代码是正确的 这里是 h1 Lista de usu rios h1
  • R 中使用 `UseMethod()` 与 `inherits()` 来确定对象的类

    如果我需要根据 R 对象的类以不同的方式处理它们 我可以使用if and else在单个函数内 foo lt function x if inherits x list Foo the list else if inherits x num
  • 在 Windows 上查看 PHP 文件夹

    我正在编写一个简单的 PHP 脚本来监视文件夹及其子文件夹的任何更改 新文件 修改 删除 然后执行操作 我将使用 Windows 上的命令行运行此脚本php f script php 我一直在寻找一种在 Windows 上观看具有 PHP
  • Apache 2.4.9 在启用 ssl 模块并设置 ssl 证书后失败

    Apache 在尝试设置 ssl 证书后抛出以下错误 ssl emerg pid 30907 AH02572 Failed to configure at least one certificate and key for localhos
  • __callStatic():从静态上下文实例化对象?

    我对 PHP 中的 静态 和 动态 函数和对象如何协同工作感到困惑 特别是在 callStatic 方面 callStatic 的工作原理 您可以有一个普通的班级 MyClass 在班级内您可以 放置一个名为 callStatic 的静态函

随机推荐

  • 您对这个项目有什么建议? [关闭]

    就目前情况而言 这个问题不太适合我们的问答形式 我们希望答案得到事实 参考资料或专业知识的支持 但这个问题可能会引发辩论 争论 民意调查或扩展讨论 如果您觉得这个问题可以改进并可能重新开放 访问帮助中心 help reopen questi
  • 如何删除cumulo实例?

    我在通过调用初始化accumulo时创建了一个实例累积初始化但现在我想删除该实例 并且我想创建一个新实例 任何人都可以帮忙做到这一点吗 从 HDFS 中删除 ACCUMULO HOME conf accumulo site xml 中的 i
  • AgGrid 自定义 html 拖动

    我只是在考虑更改 ag 网格组件的拖动悬停 我找不到太多关于它的信息 有人知道如何在拖动模式下更改行的样式吗 我的目标是拥有不同的动画 整行 例如材质 UI UX https material io design components li
  • 为什么带有 EL 2.2 的 JSF 2.x 允许 MethodExpression 代替 ValueExpression?

    我看到几个问题询问如何将参数传递给 JSF 方法 在 EL2 2 和 servlet 3 0 中 它允许用户将参数传递到方法调用中 一个例子 如何从渲染的 h outputText 将参数传递给方法 https stackoverflow
  • C++11 std::thread 接受带有右值参数的函数

    我有一些作业 并且我很难理解 可能 如何将参数传递给 std thread 构造函数 假设以下代码 我删除了不需要的部分 template
  • 使用.net core 3.0进行脚本动态编译和运行代码

    我想提供在 NET core 3 中编译和运行代码 Csharp 类 的可能性 以用于脚本编写 脚本 类 应从文件系统加载并注入现有 静态 程序集中 https laurentkempe com 2019 02 18 dynamically
  • Javascript 函数将印度货币数字转换为支持 paise 的单词

    还有比这更快的解决方案吗 在花了一些时间谷歌搜索和玩弄其他人的代码之后 我做了一个快速修复 可重用函数适用于最大 99 99 99 999 的数字 number2text 1234 56 将返回ONE THOUSAND TWO HUNDRE
  • handleWatchKitExtensionRequest 未响应 Watchkit 扩展中的 openParentApplication (Swift)

    我正在尝试将信息从我的 WatchKit 应用程序发送到我的主要父应用程序 据我了解 我应该能够使用openParentApplication在我的 watchkit 扩展中 该扩展将由handleWatchKitExtensionRequ
  • 将 YUV 作为字节数组导入

    我正在开发一个项目 必须对 YUV420 SP NV21 图像 从 Android 相机拍摄 应用阈值 以确定哪些像素是 黑色 哪些像素是 白色 因此 我想将其作为字节数组导入 Python 中 使用 OpenCV NumPy PIL 这样
  • 如何从 bash 脚本在 GitHub 操作上创建输出?

    我有一个 GitHub 操作 本质上是一个 bash 脚本 我的操作的 javascript 部分执行 bash 脚本 const core require actions core const exec require actions e
  • 在模型上重复纹理

    我正在创建一个小游戏 你在迷宫中 迷宫的组织方式是2D Array 描述x and z position和block type 原来如此Tile based 假设每个块都是1 m 现在我的角色是2m高 迷宫应该是4m高的 因此 如果该瓷砖上
  • SQL查询多个AND和OR不起作用

    我有一个单元格 其中包含由双管分隔的值 我正在尝试使用以下内容搜索此单元格的内容 其中 10 是要搜索的数字 10 10 10 和 10 我的查询似乎只返回 10 没有其他变化 有人可以告诉我为什么它不起作用吗 提前谢谢了 您在下面看到的
  • 为什么从 python/uwsgi 内部调用时 `node.js` 会死掉?

    从外壳这个python启动并与之通信的代码node js过程工作正常 gt from subprocess import gt js function m console log m hello world gt out err Popen
  • 更改java的.class文件而不重新编译

    有什么办法可以做到以下几点 所以我有一个project jar 文件 在其中我需要修改传递给classA class 的某些方法的字符串 例如 假设这个 classA class 有一个名为 change String a String b
  • 检查 Postgres 复合字段是否为 null/空

    With Postgres 复合类型 http www postgresql org docs 9 2 static rowtypes html您基本上可以构建一个字段 其结构被定义为另一个表 我有一个名为 recipient 的复合字段
  • 错误:Angular 解析期间出现 Http 失败

    我正在学习 Angular 我想在 HTML 页面上显示 JSON 数据 错误是 Angular 解析期间 Http 失败 我不知道为什么请告诉我我的错误并给我链接如何显示多种类型的 JSON 数据 person component htm
  • MSBuild - 设置解决方案的属性

    我们在 VS2008 中使用 NET 3 5 我有一个包含约 20 个项目的解决方案 随着应用程序的增长和添加新模块 这个数字会随着时间的推移而增长 今天我需要为每个项目设置一个属性 我必须编辑每个 csproj 文件以添加以下内容
  • 如何避免在 Visual Studio 2017 中加载 Microsoft.VisualStudio.Threading 时出现错误

    我已在仅针对 Visual Studio 2019 的版本中对 Visual Studio 包进行了更新日志 我开始使用 NuGet 包的一项更改微软VisualStudio SDK 版本 16 0 202 并删除了许多对 DLL 的单独引
  • "aaaa".StartsWith("aaa") 返回 false

    如果这不是一个错误 那么任何人都可以解释这种行为背后的原因吗 事实上 似乎每个奇数个字母都会返回 false string test aaaaaaaaaaaaaaaaaaaa Console WriteLine test StartsWit
  • php oop文件上传

    我正在研究 oop php 文件上传脚本 很简单 但不起作用 问题是什么 我学习如何使用 FILE 以及如何编写 oop 风格的代码 Thanks upload php 是