Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/lua/3.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 - Fatal编程技术网

PHP-“文件”;“未找到类”;程序尝试在项目中查找类时出错

PHP-“文件”;“未找到类”;程序尝试在项目中查找类时出错,php,Php,我从github组件下载,该组件简化了文件验证和上载() 我将所有src文件夹放在www文件夹中(我与WAMP一起工作) 我还在github Programץ安装了givven的composer.json 我使用以下代码创建了index.html文件: <!DOCTYPE html> <html> <body> <form action="up.php" method="POST" enctype="multipart/form-data"&g

我从github组件下载,该组件简化了文件验证和上载()

我将所有src文件夹放在www文件夹中(我与WAMP一起工作)

我还在github Programץ安装了givven的composer.json

我使用以下代码创建了index.html文件:

<!DOCTYPE html>
<html>
<body>

    <form action="up.php" method="POST" enctype="multipart/form-data">
     <input type="file" name="foo" value=""/>
     <input type="submit" value="Upload File"/>
    </form>

  </body>
   </html>

我从自述文件(github项目)复制的直接指向up.php的操作如下:

<?php
$storage = new \Upload\Storage\FileSystem(__DIR__."/".$sugar_config['upload_dir']);
$file = new \Upload\File('foo', $storage);

// Optionally you can rename the file on upload
$new_filename = uniqid();
$file->setName($new_filename);

// Validate file upload
// MimeType List => http://www.iana.org/assignments/media-types/media-types.xhtml
$file->addValidations(array(
    // Ensure file is of type "image/png"
    new \Upload\Validation\Mimetype('image/png'),

    //You can also add multi mimetype validation
    //new \Upload\Validation\Mimetype(array('image/png', 'image/gif'))

    // Ensure file is no larger than 5M (use "B", "K", M", or "G")
    new \Upload\Validation\Size('5M')
));

// Access data about the file that has been uploaded
$data = array(
    'name'       => $file->getNameWithExtension(),
    'extension'  => $file->getExtension(),
    'mime'       => $file->getMimetype(),
    'size'       => $file->getSize(),
    'md5'        => $file->getMd5(),
    'dimensions' => $file->getDimensions()
);

// Try to upload file
try {
    // Success!
    $file->upload();
} catch (\Exception $e) {
    // Fail!
    $errors = $file->getErrors();
}

在使用该类之前,必须加载编写器的类自动加载程序。本质上是查找未定义类的函数

尝试添加:

require __DIR__ . '/vendor/autoload.php';

在up.php的开头(根据
vendor
文件夹相对于
up.php
的位置调整路径)

在使用类之前,您必须加载composer的类自动加载器。本质上是查找未定义类的函数

尝试添加:

require __DIR__ . '/vendor/autoload.php';

在up.php的开头(根据
vendor
文件夹相对于
up.php
的位置调整路径)

如果不使用composer和composer的autoloader,但此软件包有自己的类autoloader,请尝试将autoloader包括在内,并在脚本的最顶端注册它:

include 'src/Upload/Autoloader.php'
Autoloader::register();

如果您不使用composer和composer的autoloader,但此软件包有自己的类autoloader,则它将不起作用,请尝试包括autoloader并在脚本的最顶端注册它:

include 'src/Upload/Autoloader.php'
Autoloader::register();

我通过添加一个新的存储文件夹+上传前添加src文件夹解决了这个问题

这是我当前的up.php页面代码:

<?php

require __DIR__ . '/vendor/autoload.php';

$storage = new \Upload\Storage\FileSystem('./stor');
$file = new \Upload\File('foo', $storage);



// Optionally you can rename the file on upload
$new_filename = uniqid();
$file->setName($new_filename);

// Validate file upload
// MimeType List => http://www.iana.org/assignments/media-types/media-types.xhtml
$file->addValidations(array(
    // Ensure file is of type "image/png"
    new \Upload\Validation\Mimetype('image/png'),

    //You can also add multi mimetype validation
    //new \Upload\Validation\Mimetype(array('image/png', 'image/gif'))

    // Ensure file is no larger than 5M (use "B", "K", M", or "G")
    new \Upload\Validation\Size('5M')
));

// Access data about the file that has been uploaded
$data = array(
    'name'       => $file->getNameWithExtension(),
    'extension'  => $file->getExtension(),
    'mime'       => $file->getMimetype(),
    'size'       => $file->getSize(),
    'md5'        => $file->getMd5(),
    'dimensions' => $file->getDimensions()
);

// Try to upload file
try {
    // Success!
    $file->upload();
} catch (\Exception $e) {
    // Fail!
    $errors = $file->getErrors();
}

我通过添加一个新的存储文件夹+在上传之前添加src文件夹解决了这个问题

这是我当前的up.php页面代码:

<?php

require __DIR__ . '/vendor/autoload.php';

$storage = new \Upload\Storage\FileSystem('./stor');
$file = new \Upload\File('foo', $storage);



// Optionally you can rename the file on upload
$new_filename = uniqid();
$file->setName($new_filename);

// Validate file upload
// MimeType List => http://www.iana.org/assignments/media-types/media-types.xhtml
$file->addValidations(array(
    // Ensure file is of type "image/png"
    new \Upload\Validation\Mimetype('image/png'),

    //You can also add multi mimetype validation
    //new \Upload\Validation\Mimetype(array('image/png', 'image/gif'))

    // Ensure file is no larger than 5M (use "B", "K", M", or "G")
    new \Upload\Validation\Size('5M')
));

// Access data about the file that has been uploaded
$data = array(
    'name'       => $file->getNameWithExtension(),
    'extension'  => $file->getExtension(),
    'mime'       => $file->getMimetype(),
    'size'       => $file->getSize(),
    'md5'        => $file->getMd5(),
    'dimensions' => $file->getDimensions()
);

// Try to upload file
try {
    // Success!
    $file->upload();
} catch (\Exception $e) {
    // Fail!
    $errors = $file->getErrors();
}

准确完整的错误消息是什么?应该有类名、发生错误的文件、行号……它在我附加到post(“错误”标记)的屏幕快照中运行composer并包括生成的自动加载文件。准确完整的错误消息是什么?应该有类名、错误发生的文件、行号……它在我附加到帖子的ScreesShot中(“错误”标记)运行composer并包含生成的自动加载文件。您应该包含这些类并调用静态寄存器function@fofohoilk只是一个疯狂的建议:备份
up.php
和您的自定义文件,并尝试按照“如何安装”进行操作github页面上的部分:即,首先安装windows composer,然后使用
composer require
获取上传的源代码。目前我无法解释这个错误,除了有一些奇怪的目录结构,autoloader无法找到class@fofohoilk尝试回显self::$base$文件名;从Autoloader的autoload函数中,查看它尝试从哪个目录加载类,并查看是否工作。阅读PSR-4,了解应该遵循的目录结构。希望我能帮助你包括这些类和调用静态寄存器function@fofohoilk只是一个大胆的建议:备份
up.php
和您的自定义文件,并尝试按照github页面上的“如何安装”部分进行操作:即,首先安装windows composer,然后使用
composer require
获取上传的源代码。目前我无法解释这个错误,除了有一些奇怪的目录结构,autoloader无法找到class@fofohoilk尝试回显self::$base$文件名;从Autoloader的autoload函数中,查看它尝试从哪个目录加载类,并查看是否工作。阅读PSR-4,了解应该遵循的目录结构。希望我能帮忙