云上传php失败,如何解决?



我尝试使用cloudinary为我的个人博客上传我的图像和视频,但失败了。我 https://www.youtube.com/watch?v=oZCQLjfq97o 观看此视频教程。错误说:

注意:未定义的索引:>C:\xampp7\htdocs\lovantoBlog\cloudinary\index.php 中的文件在第 8 行

注意:未定义的索引:>C:\xampp7\htdocs\lovantoBlog\cloudinary\index.php 中的文件在第 9 行

致命错误:未捕获的云\错误:缺少必需参数 - C:\xampp7\htdocs\lovantoBlog\cloudinary\vendor\cloudinary\cloudinary_php\src\Uploader.php:558 堆栈跟踪:#0 C:\xampp7\htdocs\lovantoBlog\cloudinary\vendor\cloudinary\cloudinary_php\src\Uploader.php(407(: Cloudinary\Uploader::call_api('upload', Array, Array, NULL( #1 C:\xampp7\htdocs\lovantoBlog\cloudinary\vendor\cloudinary\cloudinary_php\src\Uploader.php(100(: Cloudinary\Uploader::call_cacheable_api('upload', Array, Array, NULL( #2 C:\xampp7\htdocs\lovantoBlog\cloudinary\index.php(11(: Cloudinary\Uploader::upload(NULL, Array( #3 {main} 在 C:\xampp7\htdocs\lovantoBlog\cloudinary\vendor\cloudinary\cloudinary_php\src\Uploader.php 在第 558 行

这是我的上传代码:

require 'vendor/autoload.php';
require 'config.php';
if (isset($_POST['Simpan'])) {
$nama = $_POST['nama'];
$slug = $_POST['slug'];
$gambar = $_FILES['file']['name'];
$file_tmp = $_FILES['file']['tmp_name'];
CloudinaryUploader::upload($file_tmp, array('public_id' => $slug));
}

这是表单的代码:

<form method="POST">
<input type="text" name="nama">
<input type="text" name="slug">
<?php echo cl_image_upload_tag('image_id');?>
<input type="submit" name="Simpan" value="Simpan">
</form>

cl_image_upload_tag用于执行从浏览器到Cloudinary的直接上传。当您提交表单时,没有文件参数发送到您的后端,因此Cloudinary::Uploader::upload调用失败并显示错误Missing required parameter - file

如果您想从后端上传文件,则需要将cl_image_upload_tag替换为常规文件输入字段元素。选择文件并提交表单后,您的后端可以使用相同的代码将文件上传到 Cloudinary。

另一方面,如果要使用cl_image_upload_tag,请参阅Cloudinary文档的直接上传部分,其中描述了此设置。 https://cloudinary.com/documentation/php_image_and_video_upload#direct_upload_file_tag

最新更新