将文件上载脚本修改为Image CROP和拇指创建

时间:2015-08-01 19:10:31

标签: php file-upload

我想知道如何修改我的文件和数据上传功能,裁剪上传的文件,然后在不同的目录中创建一个具有相同名称的附加拇指文件,但只将文件名放在数据库中。

到目前为止,这是我的代码,我可以上传文件并存储其他信息:

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();
}

}
}

那么有人能告诉我如何裁剪上传的文件,然后再创建不同分辨率的额外拇指文件吗?

0 个答案:

没有答案