アップローダ(PHP)続き

前回の続き。

アップロードを受け付けるプログラム(upload.php)のメモ

  • $_FILESは何?
  • empty()
  • time()
  • hash()
  • dirname(__FILE__)
  • move_uploaded_file()
  • ${title}
$app_url_base = "PATH_TO_UPLOADER/sketchbook/";
$data_file = "sketch.dat";
$image_dir = "image";
$error = null;
$data = array();

$title = $_POST['title'];
$file = $_FILES['image'];
$tmp_name = $file['tmp_name'];

if (empty($title)) {
	header("HTTP/1.0 400 Bad Request");
	$data = array("error" => "title is required.");
	echo json_encode($data);
	exit;
}

$date = time();
$file_name = hash('md5', $title, $date) . ".png";
$file_path = dirname(__FILE__) . "/" . $image_dir . "/" . $file_name;

$result = @move_uploaded_file($tmp_name, $file_path);//
if ($result === true) {
	$fp = @fopen($data_file, "a");
	if ($fp !== false) {
		$line = "${title},${date},${file_name}n";
		$result = @fputs($fp, $line);
		if ($result === false) {
			$error = "failed to register(file write).";
		}
	}
	else {
		$error = "failed to register(file open).";
	}
}
else {
	$error = "failed to upload.";
}

if ($error !== null) {
	header("HTTP/1.0 500 Internal Server Error");
	$data = array("error" => $error);
}
else {
	$data = array("result" => "Upload OK!");
}

echo json_encode($data);

参考サイト

iOS/Android/Windows Phoneプログラミング (日経BPパソコンベストムック)
日経BP社 (2012-01-12)
売り上げランキング: 64019

関連エントリー

  1. アップローダ(PHP)
  2. 画像アップローダー(PHP)
  3. ユーザーエージェントを見て遷移先を振り分ける
  4. PHPでWordPressに投稿する
  5. PhoneGapお試し(iOS)
This entry was posted in 未分類 and tagged . Bookmark the permalink.