カテゴリー
SugiBlog Webエンジニアのためのお役立ちTips

PHP ファイルアップロードのエラー

ファイルアップロードのエラーについてまとめました。

フォームのサンプル

<form method="post" action="my.php" enctype="multipart/form-data">
    <input type="file" name="upfile" size="50"><br>
    <input name="submit" type="submit" value="アップロード">
</form>

PHPのサンプル

if ($_FILES["upfile"]["error"] == UPLOAD_ERR_OK)
{
    //アップロード成功
}
else
{
    //エラー発生
}

・エラーコードについて

UPLOAD_ERR_OK
値:0
エラーなし。ファイルアップロード成功。
続きを読む…»

3,455 views

コメントフォームの設置

headタグ内のwp_head();より前に記述。
コメント返信用のJavaScriptを挿入してくれます。

<?php if ( is_singular() ) wp_enqueue_script( 'comment-reply' ); ?>

記事表示のループの中に以下を追加します。

<?php comments_template(); ?>

簡単にコメント機能を追加するには以上です。
フォームや、コメント表示など、デフォルトの機能で自動にやってくれます。
フォームをカスタマイズする場合は、comments.phpを作成する必要があります。
それはまた後日。。

こちらを参考にさせていただきました。
http://scianto.net/2009/03/02232201.php

3,320 views

MySQL CSVファイルの入出力

一発で出来て便利な方法を見つけたので、書いておきます。
ただ、入力の場合、フィールド数は同じである必要があります。

【出力】
書式

SELECT * FROM [TABLE] INTO OUTFILE "[ファイルのパス]" FIELDS TERMINATED BY "[区切り文字]" OPTIONALLY ENCLOSED BY '[囲み文字]' LINES TERMINATED BY "[改行コード]";

MySQLで実行する場合

SELECT * FROM [TABLE] INTO OUTFILE "[ファイルのパス]" FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY "\r\n";

PHPで実行する場合(SQL文以外省略しています)

select * from [TABLE] into outfile \"[ファイルのパス]\" fields terminated by \",\" optionally enclosed by '\"' lines terminated by \"\r\n\"

【入力】

load data infile \"[ファイルのパス]\" into table [テーブル名] fields terminated by \"[区切り文字]\" enclosed by '[囲み文字]' lines terminated by \"[改行コード]\"

MySQLで実行する場合

LOAD DATA INFILE "/tmp/temporary.csv" INTO TABLE TABLE FIELDS TERMINATED BY "," OPTIONALLY ENCLOSED BY '"' LINES TERMINATED BY "\r\n";

PHPで実行する場合(SQL文以外省略しています)

load data infile \"/tmp/temporary.csv\" into table TABLE fields terminated by \",\" enclosed by '\"' lines terminated by \"\r\n\"
4,805 views

PHPインストール

PHPのインストール時に使用できるシェルスクリプトです。
Apache1.X系とApache2.x系の2種類作成したもののご紹介です。

#!/bin/sh

#=======================================
# php configure script
# php version 5
# for apache version 1
#=======================================

ARGV=$@

if [ -e $ARGV ] ; then

	echo "Please enter the option!"
	echo "[Options]:"
	echo "test - 設定されているコンフィグオプションを表示します。"
	echo "exec - php5をビルドします。"

elif [ "$ARGV" = "test" ] ; then

	echo "./configure \\"
	echo "--with-apxs=/usr/local/apache/bin/apxs \\"
	echo "--enable-mbstring \\"
	echo "--enable-mbstr-enc-trans \\"
	echo "--enable-mbregex \\"
	echo "--enable-trans-sid \\"
	echo "--with-mysql=/usr/bin \\"
	echo "--with-config-file-path=/usr/local/lib"

elif [ "$ARGV" = "exec" ] ; then

	./configure \
	--with-apxs=/usr/local/apache/bin/apxs \
	--enable-mbstring \
	--enable-mbstr-enc-trans \
	--enable-mbregex \
	--enable-trans-sid \
	--with-mysql=/usr/bin \
	--with-config-file-path=/usr/local/lib

	ERROR=$?
	if [ "$ERROR" = "0" ] ; then
		echo "ビルドが終了しました。"
	fi

else

	echo "error: unknown option!"
	echo "[Options]:"
	echo "test - 設定されているコンフィグオプションを表示します。"
	echo "exec - php5をビルドします。"

fi

続きを読む…»

2,594 views

ファイルを添付してメール送信2

複数の画像を添付してメールを送信するフォームを作ったので参考に載せておきます。
要所のみで省略している部分もあります。
ここでは添付できるファイル数を5つで作成しています。

<form action="./confirm.php" method="post" enctype="multipart/form-data">
    <input type="file" size="30" name="upfile1"><br>
    <input type="file" size="30" name="upfile2"><br>
    <input type="file" size="30" name="upfile3"><br>
    <input type="file" size="30" name="upfile4"><br>
    <input type="file" size="30" name="upfile5"><br>
    <input type="submit" name="submit" value="内容確認">
    <input type="reset" value="リセット">
</form>
<?php
// 共通初期設定
//{
    // 拡張子制限(0=しない・1=する)
    $ext_denied = 1;
    // 許可する拡張子リスト
    $ext_allow1 = "jpg";
    $ext_allow2 = "jpeg";
    $ext_allow3 = "gif";
    // 配列に格納しておく
    $EXT_ALLOWS = array($ext_allow1, $ext_allow2, $ext_allow3);

    // アップロード容量制限(0=しない・1=する)
    $maxmemory = 1;
    // 最大容量(KB)
    $max = 3000;
//}
?>

続きを読む…»

15,557 views