我想知道如何修改我的文件和数据上传功能,裁剪上传的文件,然后在不同的目录中创建一个具有相同名称的附加拇指文件,但只将文件名放在数据库中。
到目前为止,这是我的代码,我可以上传文件并存储其他信息:
public function fileupload(){
$file = rand(1000,100000)."-".$_FILES['file']['name'];
$file_loc = $_FILES['file']['tmp_name'];
$file_size = $_FILES['file']['size'];
$file_type = $_FILES['file']['type'];
$folder="uploads/";
// new file size in KB
$new_size = $file_size/1024;
// new file size in KB
// make file name in lower case
$new_file_name = strtolower($file);
// make file name in lower case
$final_file=str_replace(' ','-',$new_file_name);
if(move_uploaded_file($file_loc,$folder.$final_file))
{
try {
$con = new PDO( DB_DSN, DB_USERNAME, DB_PASSWORD );
$con->setAttribute( PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION );
$sql = "INSERT INTO documents(topic, title, fecha, files, type, size, indicator) VALUES (:topic, :title, :fecha, :files, :type, :size, :indicator)";
$stmt = $con->prepare( $sql );
$stmt->bindValue(':topic', $_POST['topic'], PDO::PARAM_STR);
$stmt->bindValue(':title', $_POST['title'], PDO::PARAM_STR);
$stmt->bindValue(':fecha', $_POST['fecha'], PDO::PARAM_STR);
$stmt->bindValue(':files', $final_file, PDO::PARAM_STR);
$stmt->bindValue(':type', $file_type, PDO::PARAM_STR);
$stmt->bindValue(':size', $new_size, PDO::PARAM_STR);
$stmt->bindValue(':indicator', $_POST['indicator'], PDO::PARAM_STR);
$stmt->execute();
header( 'Location: success_file.php?result=El File: <strong>"' .urlencode($_POST['topic']). '"</strong><br />fue agregado exitisamente!' ) ;
} catch (PDOException $e) { return $e->getMessage();
}
}
}
那么有人能告诉我如何裁剪上传的文件,然后再创建不同分辨率的额外拇指文件吗?