PHP-“文件”;“未找到类”;程序尝试在项目中查找类时出错
我从github组件下载,该组件简化了文件验证和上载() 我将所有src文件夹放在www文件夹中(我与WAMP一起工作) 我还在github Programץ安装了givven的composer.json 我使用以下代码创建了index.html文件: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
<!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,了解应该遵循的目录结构。希望我能帮忙