分类:
2010-11-07 13:04:10
PHP题: 一次性上传 5 个 gif 图片到 upload 目录,每图片大小不能超过 100KB;
当其中任何一个图片不符合要求/已存在同名文件/复制图片出现错误时,
删除已复制的文件并给出错误提示。
<form action="test.php" enctype="multipart/form-data"method="POST">
file1:<input type="file" name="gif1" value=""/><br />
file2:<input type="file" name="gif2" value=""/><br />
file3:<input type="file" name="gif3" value=""/><br />
file4:<input type="file" name="gif4" value=""/><br />
file5:<input type="file" name="gif5" value=""/><br />
<input type="submit" name="submit" value="上传">
form>
php
define("FileDocument",'C:\wamp\www\test\upload\\');
function upload($oFile)
{
if(! is_dir(FileDocument))
mkdir(FileDocument);
$result = move_uploaded_file($oFile['tmp_name'],FileDocument.$oFile['name']);
if($result == 1)
echo $oFile['name']."上传成功。";
else
echo $oFile['name']."上传失败。";
}
function validateInfo($oFile)
{
$info = "";
$mimeType ="image/pjpeg";
if($oFile['type'] != $mimeType)
{
if($oFile['type']!='')
{
$info .= "文件 ".$oFile['name']." 是".$oFile['type']."文件格式,而不是".$mimeType."格式文件。";
}
else
{
$info .= "文件 ".$oFile['name']." 不是$mimeType格式文件。";
}
}
else
{
$filename = FileDocument.$oFile['name'];
if(file_exists($filename))
{
$info .= "文件 ".$oFile['name']."已存在。";
}
else
{
if($oFile['size'] >= 102400)
{
$info .= "文件 ".$oFile['name']."大小超过100kb。";
}
}
}
return $info;
}
function processUpload($oFile)
{
if(isset($oFile))
{
if(is_uploaded_file($oFile['tmp_name']))
{
$info = validateInfo($oFile);
if($info =='')
upload($oFile);
else
echo $info;
}
}
}
processUpload($_FILES['gif1']);
processUpload($_FILES['gif2']);
processUpload($_FILES['gif3']);
processUpload($_FILES['gif4']);
processUpload($_FILES['gif5']);
/*PHP题: 一次性上传 5 个 gif 图片到 upload 目录,每图片大小不能超过 100KB;
当其中任何一个图片不符合要求/已存在同名文件/复制图片出现错误时,
删除已复制的文件并给出错误提示。
*/
?>
PHP正则题: 用户用在线编辑器发布文章时,粘贴了多幅远程图片.
要求把找出远程图片的路径,把它保存到本站服务器,并把图片路径重写为本地服务器地址.
如
$content = '如图所示: ';
找出图片 "" 保存为 attachment/1.gif 后,改写文章内容为
$content = '如图所示:
';
php
define("FileDocument",'C:\wamp\www\test\\');
$content = <<< CONTENT
如图所示: <img src="http://www.gdut.edu.cn/newgdut/images/gdut_top-1.jpg" alt="图1" /><br />
如图所示: <img src="" alt="图2" /><br />
如图所示: <img src="http://www.phpweblog.net/images/xml.gif" alt="图3" /><br />
CONTENT;
// 回调函数
function ChangeToLocal($matches)
{
$path = $matches[4];//图片链接
$para = split("[\/]",$path);
$filename = end($para);
if(preg_match("/\.(gif|jpeg|jpg|png|bmp)$/i",$filename))
{
down($path,$filename);
return ereg_replace($path,"./".$filename,$matches[0]);//$path;
}
return "";
}
function down($url,$filename) //下载图片
{
if(!is_dir(FileDocument))
mkdir(FileDocument);
$localfile = FileDocument.$filename;
//设置获取基本变量
//打开远程文件
$fp = fopen($url, "rb");
if (!$fp){
exit();
}
//打开本地文件
$sp = fopen($localfile, "wb");
if (!$sp){
exit();
}
//下载远程文件
//echo "Downloading, please waiting
\n\n";
while (!feof($fp)){
$tmpfile .= fread($fp, 1024);
}
//保存文件到本地
fwrite($sp, $tmpfile);
fclose($fp);
fclose($sp);
//echo "Download file ". $filename ." succeed!\n\n";
}
$content = preg_replace_callback("/(
echo $content;
?>
MySQL 题:下面的语句用order by,要求先小写字母,再大写字母,后数字的升序排列:
CREATE TABLE `tjob` (
`title` VARCHAR( 100 ) CHARACTER SET utf8 COLLATE utf8_general_ci NOT NULL
) ENGINE = MYISAM;
INSERT INTO `tjob` VALUES ("11"), ("22"), ("33"), ("aa"), ("bb"), ("cc"), ("AA"), ("BB"), ("CC");
SELECT * FROM `tjob`
提示: 正确的查询结果应为
aa
bb
cc
AA
BB
CC
11
22
33
SELECT * FROM `tjob` ORDER BY `title` COLLATE SQL_EBCDIC273_CP1_CS_AS
(搜索出来的方法,还没测试成功。主要就是SQL_EBCDIC273_CP1_CS_AS 这个校对规则没有设置好。)
MySQL 题:
MySQL版本为 5.0;论坛默认是"显示30天前的帖子",其查询语句为:
$fromtime = time() - 86400*30; //30天前的当前时刻
mysql_query("select * from threads where forumid=1 and posttime>$fromtime ");
后来改为:
$day = getdate(time()-86400*30);
$fromtime = mktime(0,0,0,$day['mon'],$day['mday'],$day['year']); //30天前的 00:00:00
mysql_query("select * from threads where forumid=1 and posttime>$fromtime ");
请问:这样改有什么好处?请说明理由。
在对查询结果要求不高,两者均符合要求的情况下,有没有必要进行更改,为什么?
答:改了之后,就可以查询到第三十天前的零时到现时的记录。改了比较好,更加符合默认设置。
JavaScript 题:
页面编码为utf-8,因数据库的限制,表单域 details 的输入长度不能超过 250 个字节。
编写 JavaScript 程序,用户在 details 中输入后提示所含的字节数为多少,若超过 250 个字节,则自动更改其内容为<=250个字节。
提示:
utf-8 编码中:
每个英文字母、数字所占的空间为1 字节;泛欧语系、斯拉夫语字母占2字节(如αβπ);汉字占3字节。
自动截短时,总字节数应为 248~250 个。
JavaScript 题:
循环输出 5 个输入框,初始值为空。
任何一个失去焦点(包括焦点移到另一个输入框)时,检查该控件的值,若为空或非数字,清空控件的值并把焦点重新置于该控件。
提示:注意不要造成死循环!
HTML 题: