【コピペでOK】PHP画像投稿ライブラリ class.upload.php
投稿日:2020/8/6 最終更新日:2020/08/07 閲覧数:5030
カテゴリー: システム・WEB>
使ってみたら思いのほか簡単だったのでメモ。
自由度も高めでいい感じ。
1ファイルで画面の表示もアップロードもできるようにしてあります。
ディレクトリ構造
home
┣photo
┣library
┃ ┗class.upload.php
┗index.php
ライブラリファイル↓
◆githubからダウンロード
composerとかいいからさっさと使わせてくれ!
という方
28行目くらいにある
namespace Verot\Upload;
を消せばいけます。
ダウンロードしたらサーバーにフォルダ作ってにアップロードするだけ。
phpファイルで参照してちょろっとコード書くだけで使えます。
オプションもたくさんあるので調べて使ってください。
php
index.php
<?php
/*
画像アップロード
*/
// uploadがPOSTされたときに下記を実行
if(isset($_POST['upload'])) {
require "library/class.upload.php";
$image_file = $_FILES['image_file'];
$upload_dir = 'photo/'; //画像保存ディレクトリ
$filename = 'photo.'date("Y-m-d-H-i-s"); //ファイル名
$handle = new Upload($image_file);
if($handle->uploaded){
// 画像ファイルのみアップロードを許可
$handle->allowed = [
'image/*',
];
//ファイル形式
$handle->image_convert = 'png' //pngに変換
$handle->file_overwrite = true; //ファイル上書き有効
$handle->file_auto_rename = false; //ファイル名自動リネーム無効
$handle->file_src_name_body = $filename; //ファイル名指定
$handle->image_resize = true; //リサイズ有効
$handle->image_ratio = true; //アス比固定
$handle->image_y = 320; //大きかったら320に
$handle->image_x = 320; //大きかったら320に
$handle->Process($upload_dir); //画像アップロードを実行
if (!$handle->processed){
echo $handle->error;
}
}else{
echo $handle->error;
}
};
?>
<html>
<head>
・・・
</head>
<body>
・・・
<form method="post" enctype="multipart/form-data">
<input type="file" name="image_file" value="">
<button type="submit" name="upload">画像を投稿</button>
</form>
・・・
</body>
</html>
WOW just what I was searching for. Came here by searching for meta_keyword| Judith Efren Annecorinne