php - 简单的图像类不起作用,我做错了什么?
问题描述
有人可以看到我没有上传图片吗?
我正在尝试使用 simpleImage 类调整图像大小
这是我的代码
if($_FILES['file']['name']!='')
{
$tmp_name = $_FILES["file"]["tmp_name"];
$cname = str_replace(' ', '-', $candidate_name);
$file_name = preg_replace("/[^a-zA-Z0-9.]/", "", $cname);
$fileUpload = move_uploaded_file($tmp_name,"uploads/images/".$image_name);
$image = new SimpleImage();
$image->load($fileUpload);
$image->resize(150,180);
$resize_rename = $fileUpload.$file_name;
$image->save($resize_rename);
unlink($fileUpload); //delete the original file
$img = ''.$resize_rename.'';
}else{
$img = '';
}
图片没有上传到uploads/images/,而是没有扩展名的文件上传到根目录。
解决方案
如果无法测试这可能会出现错误,但我认为您应该使用已移动文件的路径作为SimpleImage
类的输入(但从未看过该类)
$img=false;
if( isset( $candidate_name ) && !empty( $_FILES['file'] ) ){
$obj=(object)$_FILES['file'];
$tmp=$obj->tmp_name;
$name=$obj->name;
$cname = str_replace( ' ', '-', $candidate_name );
$fname = preg_replace( '/[^a-zA-Z0-9.]/', '', $cname );
$target = __DIR__ . '/uploads/images/' . $name;
$status = move_uploaded_file( $tmp, $target );
if( $status ){
$newname = __DIR__. '/uploads/images/' . $fname;
$image = new SimpleImage();
$image->load( $target );
$image->resize( 150, 180 );
$image->save( $newname );
@unlink( $target );
$img=$newname;
}
}
推荐阅读
- android - Android - 在没有活动的情况下在启动时运行服务
- twilio - 来电的 Twilio 进行中状态回调
- javascript - 获取翻转时钟的当前面值
- python - 从 Python 而不是终端中提取 Firebase 用户
- postgresql - 如何在 DO 语句中使用准备好的语句?
- jquery - JQuery 每个迭代器跳过计数而不替换名称字段
- node.js - 在 ExpressJS 中禁用 CORS
- angular - 如何在Angular中将日期数组发送到REST API
- visual-studio - 如何使用 Visual Studio Community for Mac 为 Unity 创建托管插件
- android - 字体真棒文本在Android中并不稳固