- Äɲ䵤줿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
- ºï½ü¤µ¤ì¤¿¹Ô¤Ï¤³¤Î¿§¤Ç¤¹¡£
[[PHP]]
*¥Ö¥é¥¦¥¶¤Ç¥Õ¥¡¥¤¥ë¤ò»²¾È¤·¡¢PHP¤ËÅϤ¹ÊýË¡ [#k9ce30c6]
¥Ö¥é¥¦¥¶Â¦¤Ç¼¡¤Î¤è¤¦¤ËµÆþ¤¹¤ë¤È¡¢¥Ð¥¤¥Ê¥ê¥Ç¡¼¥¿¤òPHP¥×¥í¥°¥é¥à¤ËÅϤ¹¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
<html>
<body>
<form method="post" enctype="multipart/form-data" action="http://foo.jp/php/upload.php">
<input type="file" name="file0" value="">
<input type="submit" value="Á÷¿®">
</form>
</body>
</html>
*PHP¦¤Ç¥Ð¥¤¥Ê¥ê¥Ç¡¼¥¿¤ò¼õ¤±¼è¤ëÊýË¡ [#jbd3ee70]
PHP¦¤Ç¼¡¤Î¤è¤¦¤ËµÆþ¤¹¤ë¤È¡¢¥Ð¥¤¥Ê¥ê¥Ç¡¼¥¿¤ò¼õ¤±¼è¤ë¤³¤È¤¬¤Ç¤¤Þ¤¹¡£
<?php
$directory = './log/';
// ¥À¥¦¥ó¥í¡¼¥É ¥Õ¥¡¥¤¥ë
$downloadFile = "";
if (strlen($_GET['get']) > 0) {
$downloadFile = $directory . $_GET['get'];
} else if (strlen($_POST['get']) > 0) {
$downloadFile = $directory . $_POST['get'];
}
if (strlen($downloadFile) > 0) {
// ************************************************************************
// ¥Õ¥¡¥¤¥ë ¥À¥¦¥ó¥í¡¼¥É
// ************************************************************************
if (file_exists($downloadFile)) {
$response = readFile($downloadFile);
header("Content-type: application/octet-stream");
//¥Ð¥¤¥Ê¥ê¥Õ¥¡¥¤¥ëÁ÷¿®
print($response);
//¥Õ¥¡¥¤¥ëºï½ü
unlink($downloadFile);
} else {
print("busy");
}
// ************************************************************************
// ¥Õ¥¡¥¤¥ë ¥À¥¦¥ó¥í¡¼¥É
// ************************************************************************
if (file_exists($downloadFile)) {
$response = readFile($downloadFile);
header("Content-type: application/octet-stream");
//¥Ð¥¤¥Ê¥ê¥Õ¥¡¥¤¥ëÁ÷¿®
print($response);
//¥Õ¥¡¥¤¥ëºï½ü
unlink($downloadFile);
} else {
print("busy");
}
} else {
// ************************************************************************
// ¥Õ¥¡¥¤¥ë ¥¢¥Ã¥×¥í¡¼¥É
// ************************************************************************
$uploadFile = $directory . $_FILES['file0']['name'];
if (move_uploaded_file($_FILES['file0']['tmp_name'], $uploadFile)) {
//À®¸ù
print "OK";
} else {
//¼ºÇÔ
print "NG";
}
// ************************************************************************
// ¥Õ¥¡¥¤¥ë ¥¢¥Ã¥×¥í¡¼¥É
// ************************************************************************
$uploadFile = $directory . $_FILES['file0']['name'];
if (move_uploaded_file($_FILES['file0']['tmp_name'], $uploadFile)) {
//À®¸ù
print "OK";
} else {
//¼ºÇÔ
print "NG";
}
}
function readFile($filename)
{
$ret = "";
$ret = "";
//¥Ð¥¤¥Ê¥ê¥Õ¥¡¥¤¥ëÆɹþ
if (!file_exists($filename))
{
$ret = ""; // "not found";
} else {
if (!($fp = fopen($filename, 'rb'))) exit;
flock($fp, 2);
$size = filesize($filename);
$ret = fread($fp, $size);
fclose($fp);
}
return $ret;
//¥Ð¥¤¥Ê¥ê¥Õ¥¡¥¤¥ëÆɹþ
if (!file_exists($filename))
{
$ret = ""; // "not found";
} else {
if (!($fp = fopen($filename, 'rb'))) exit;
flock($fp, 2);
$size = filesize($filename);
$ret = fread($fp, $size);
fclose($fp);
}
return $ret;
}
?>
*PHP¦¤ËËÜÅö¤ËÅϤäƤ¤¤ë¤«¡¢³Îǧ¤¹¤ë¤¿¤á¤Î¥×¥í¥°¥é¥à(report.php) [#v6655088]
PHP¦¤Ç¼õ¤±¼è¤ë¤¿¤á¤Ë¤Ï¡¢$_FILES¤Ë¥Õ¥¡¥¤¥ë»²¾ÈÍѤΥǡ¼¥¿¤¬Æþ¤Ã¤Æ¤¤¤ë¤³¤È¤¬½ÅÍפǤ¹¡£
<?php
echo "<pre>";
echo "_GET\n";
print_r($_GET);
echo "---\n";
echo "_POST\n";
print_r($_POST);
echo "---\n";
echo "_FILES\n";
print_r($_FILES);
echo "---\n";
echo "php_errormsg\n";
echo $php_errormsg;
echo "---\n";
echo "apache_request_headers\n";
print_r(apache_request_headers());
echo "</pre>";
?>
*apache_request_headers()¤Ë¤Ä¤¤¤Æ [#e3385646]
¥¯¥é¥¤¥¢¥ó¥È¤«¤éapache¤Ë¥ê¥¯¥¨¥¹¥È¤¹¤ë¥Ø¥Ã¥ÀÆâÍƤ¬¸«¤é¤ì¤Æ¡¢ÊØÍø¤Ç¤¹¡£¼¡¤Î¤è¤¦¤Ë¤¹¤ë¤È¡¢¥³¥í¥ó¤Ç¶èÀڤäÆɽ¼¨¤Ç¤¤Þ¤¹¡£
<?php
$headers = apache_request_headers();
foreach ($headers as $header => $value) {
echo "$header: $value <br />\n";
}
?>
½ÐÎÏÎã
Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/vnd.ms-excel, application/msword, application/x-shockwave-flash, application/vnd.ms-powerpoint, */*
Accept-Encoding: gzip, deflate
Accept-Language: ja
Cache-Control: no-cache
Connection: Keep-Alive
Content-Length: 212
Content-Type: multipart/form-data; boundary=---------------------------7d728e38b137e
Host: papuu.jp
UA-CPU: x86
User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1; (R1 1.5); .NET CLR 1.1.4322; .NET CLR 2.0.50727)
*¥ê¥ó¥¯ [#k154e020]
-[[The Web KANZAKI>http://www.kanzaki.com/docs/html/htminfo32.html]]¥Õ¥©¡¼¥àenctype¤ä¡¢multipart¾ÜºÙ¤¬²òÀ⤵¤ì¤Æ¤¤¤Þ¤¹¡£
-[[PHP ¥Þ¥Ë¥å¥¢¥ë POST ¥á¥½¥Ã¥É¤Ë¤è¤ë¥¢¥Ã¥×¥í¡¼¥É>http://search.net-newbie.com/php/features.file-upload.html]]$_FILE¤Î»È¤¤Êý¤¬Ê¬¤«¤ê¤Þ¤¹¡£
-[[ProxomitronÅù¤Ë´Ø¤¹¤ëWiki>http://abc.s65.xrea.com/prox/wiki/TIPS/]]Proxy¤ò»È¤Ã¤¿½ñ¤´¹¤¨¤Ê¤É¤ÎTIPS¤¬½ñ¤«¤ì¤Æ¤¤¤Þ¤¹¡£