Php 在Slim framework中移动上载的文件时出错
我试图使用slim框架上传文件,但我一直遇到这个恼人的错误——“将上传的文件dumped.jpg移动到/var/www/html/user name/src/uploads时出错” 这是我的密码:Php 在Slim framework中移动上载的文件时出错,php,file-upload,slim-3,Php,File Upload,Slim 3,我试图使用slim框架上传文件,但我一直遇到这个恼人的错误——“将上传的文件dumped.jpg移动到/var/www/html/user name/src/uploads时出错” 这是我的密码: $app->post('/issues/create', function( Request $request, Response $response, array $args ) { $files = $request->getUploadedFiles(); $file
$app->post('/issues/create', function( Request $request, Response $response, array $args ) {
$files = $request->getUploadedFiles();
$file = $files['photo'];
$destinationPath = __DIR__.'/uploads';
if( $file->getError() === UPLOAD_ERR_OK ) {
$file->moveTo($destinationPath);
}
});
请问我做错了什么?代码本身看起来是正确的,但错误消息不是最佳的,因为它没有指定在尝试移动文件时出错的地方。我假设这是一个所有权/权限问题,这些是导致此类错误的最常见原因 您能否检查运行您的应用程序的用户(可能是
www-data
)是否允许在/var/www/html/safeMonkeyApi/src/uploads
中创建新文件
与错误无关,您可能应该在使用前检查是否设置了$files['photo']
。永远不要信任用户输入。;-) 指定新文件的名称,如下所示:
$uploadPath = $_SERVER['DOCUMENT_ROOT'] . '/uploads/';
$uploadedFiles = $request->getUploadedFiles();
$file = $uploadedFiles['file'];
$file->moveTo($uploadPath . $file->getClientFilename());