そして伝説になりたかった

働きたくない男の雑記・備忘録

【コピペでOK】PHP画像投稿ライブラリ class.upload.php

投稿日:2020/8/6 最終更新日:2020/08/07 閲覧数:184

カテゴリー: 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>

よく見られている記事

おすすめの記事

管理人について

高専へ入学するがプログラミングが嫌いという理由で機械科を選択。その後勉強が嫌いという理由で高専退学。グラフィックデザインの仕事ができると騙され20歳からweb業界へ就職するも、大嫌いなプログラミングをさせられ続ける毎日が待っていた。未だにプログラミング地獄から脱出できないでいる。

その他管理人についてはこちら
プロフィールとか


コメントを残す