css 在IE中不居中解决办法

IE下margin:0 auto不居中怎么办

解决方法一(验证OK)
因为所有HTML页面的起初定义都在DTD文档里,所以出现这个现象的原因在于文档的DTD声明,应该修改DTD为
<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>

解决方法二
可以是对网页主体<body>声明文本居中,即body{text-align:center}
即:
< style type=”text/css”>
body{text-align:center}
#con{width:980px;martin:0 auto;}
</style>
<div id=”con”>测试margin: 0 auto 内容是否居中显示</div>

解决方法三
其实和解决方法一差不多,只是在要居中的div外层添加多一个div,并使其居中
即:
<style type=”text/css”>
#con{width:980px;martin:0 auto;}
</style>
<div style=“text-align:center”><div id=”con”>测试margin: 0 auto 内容是否居中显示</div></div>

PHP 创建目录,删除目录和其它交互

mkdir创建目录函数:

mkdir(参数,权限) 参数为新目录名,权限为新目录的权限码。如果是权限码需要重新设置:

使用umask来重新设置(对window系统无用);

[cce_php]

$oldumask = umask(0);
mkdir($dir,0777);
umask($oldumask);

[/cce_php]

rmdir删除目录函数:

rmdir(参数) 参数为目录名,目录必须为空

查看文件状态函数案例:

[cce_php]

<body>
<?php
$current_dir = ‘$DOCUMENT_ROOT/../uploads/';
$file = basename($current_dir);

echo ‘<h1> Details of file:’ .$file. ‘</h1>';

echo ‘<h2>File data</h2>';
echo ‘File last accessed:’ .date(‘j F Y H:i’, fileatime($file)). “<br />”;
echo ‘File last modified:’ .date(‘j F Y H:i’, filemtime($file)). “<br />”;

// $user = posix_getpwuid(fileowner($file));
// echo ‘File owner :’ . $user[ ‘name’]. ‘<br />';
//
// $group = posix_getgrgid(filegroup($file));
// echo ‘File Group :’ . $group[ ‘name’]. “<br />”;

echo ‘File permissions;’ . decoct(fileperms($file)). “<br />”;
echo ‘File type:’. filetype($file).'<br />';
echo ‘File size’ . filesize($file). ‘<br />';

echo ‘<h2>File tests</h2>';

echo ‘is_dir:’ . (is_dir($file)? ‘true':’false’) . ‘<br />';
echo ‘is_executable:’ . (is_executable($file)? ‘true':’false’) .'<br />';
echo ‘isfile:’ . (is_file($file)? ‘true':’false’) . ‘<br />';
echo ‘is_link:’ . (is_link($file)? ‘true':’false’) . ‘<br />';
echo ‘is_readable:’ .(is_readable($file)? ‘true':’fales’) . ‘<br />';
echo ‘is_writable:’ . (is_writable($file)? ‘true':’fales’) . ‘<br />';

?>
</body>

[/cce_php]

 

basename(参数) 获得文件名;

fileatime(参数) 获得最近被访问的时间戳

filemtime(参数) 获得最近被修改的时间戳

date(时间) 格式化时间戳

fileowner(参数) 返回 用户标识UID

filegroup(参数) 返回 用户组标识 GID

fileperms(参数) 返回 文件权限码

decoct(参数) 将文件权限码格式化为八进行数

filetype(参数) 返回文件类型

filesize(参数) 返回文件大小

is_dir(参数) 判断是否是目录
is_executable(参数) 判断是否可执行
is_file(参数) 判断是否是文件
is_link(参数) 判断是否是链接
is_readable(参数) 判断是否是可读
is_writable(参数) 判断是否是可写

stat(参数)可以将文件信息读入到一个数组

clearstatcache() 文件系统变化后需要使用此函数清空缓存

chgrp() 修改文件组

chmod() 修改文件权限

chown() 修改文件所有者

touch() 创建文件

unlink() 删除文件

copy() 复制一个文件

rename() 重新命名一个文件或移动一个文件

调用服务器命令函数:

exec(参数) 参数为服务器命令,返回命令最后一行

案例:

[cce_php]

<?php
chdir(‘$DOCUMENT_ROOT/../uploads/’);
echo ‘<pre>';
exec(‘dir’,$result);
foreach ($result as $line)
{
echo “$line\n”;
}

?>

[/cce_php]

passthru(参数) 返回结果到浏览器:

案例:

[cce_php]

<?php
chdir(‘$DOCUMENT_ROOT/../uploads/’);
echo ‘<pre>';
passthru(‘dir’);
echo ‘</pre>';

?>

[/cce_php]

system(参数) 返回结题到浏览器,并向后对齐

案例:

[cce_php]

<?php
chdir(‘$DOCUMENT_ROOT/../uploads/’);
echo ‘<pre>';
$result = system(‘dir’);
echo ‘</pre>';

?>

[/cce_php]

以上三个案例输出内容完全一样

chdir(参数) 改变当前目录

与环境变量交互:

phpinfo() 查看所有PHP环境变量信息;

getenv() 获得环境变量值

例:

getenv(“HTTP_REFERER”) 返回当前页的上一个URL

putenv() 改变环境变量值

例:

$home = ‘/home/nobody';

putenv(“HOME=$home”);

设置php.ini 中的 safe_mode_allowed_env_vars 可以限制改变PHP环境变量;

 

 

 

PHP 浏览目录中文件

使用PHP浏览指定目录中的文件:

[cce_php]

<body>
<?php
$current_dir = ‘$DOCUMENT_ROOT/../uploads/';
$dir = opendir($current_dir);

echo “<p> Upload directory is $current_dir</p>”;
echo ‘<p> Directory Listing:</p><ul>';
while (false !== ($file = readdir($dir)))
//判断文件是否存在并可以打开
{

//过滤.和..目录
if ($file != “.” && $file != “..”)
{
echo “<li> $file </li>”;
}
}

echo ‘</ul>';
closedir($dir);
?>

</body>

[/cce_php]

opendir(参数) 打开需要浏览的目录,参数为目录名.返回为一个句柄

readdir(句柄) 从目录中读取文件信息,每次读取一个文件,读完返回false

closedir(句柄) 关闭打开目录

rewinddir(句柄) 将句柄移回目录开头

 

使用dir类开显示目录列表:

[cce_php]

<?php
$dir = dir(‘$DOCUMENT_ROOT/../uploads/’);

echo “<p>Handle is $dir->handle</p>”;
echo “<p>Upload directory is $dir->path</p>”;
echo ‘<p>Directory Listing:</p><ul>';

while (false !== ($file = $dir->read()))
{
if ($file != “.” && $file != “..”)
{
echo “<li>$file</li>”;
}
}
echo ‘</ul>';
$dir->close();
?>

[/cce_php]

使用scandir函数来浏览目录:

[cce_php]

<body>

<h1> Browsing</h1>
<?php
$dir = ‘$DOCUMENT_ROOT/../uploads/';
$files1 = scandir($dir);
$files2 = scandir($dir,1);

echo “<p>Upload directory is $dir</p>”;
echo ‘<p>Directory Listing in alphabetical order, ascending:</p><ul>';

foreach($files1 as $file)
{
if ($file != “.” && $file != “..”)
echo “<li>$file</li>”;
}

echo “</ul>”;

echo “<p>Upload directory is $dir</p>”;
echo ‘<p> Directory listing in alphabetical, descending:</p><ul>';

foreach ($files2 as $file)
{
if ($file != “.” && $file != “..”)
echo “<li>$file</li>”;
}

echo “</ul>”;

?>

</body>

[/cce_php]

scandir(参数,整数)

参数为目录,把目录列表传给一个数组,默认为升序,如果整数为1,则为倒序。

dirname(参数) 显示参数的路径:

basename(参数) 显示参数的文件名;

disk_free_space(参数) 显示一个磁盘的空余空间;

PHP 上传文件到服务器

php.ini 设置:

1.file_uploads = On 允许HTTP方式上传文件

2.upload_tmp_dir = “T:/wamp/tmp” 指定上传文件在处理之前临时保存的文件目录。

3.upload_max_filesize = 64M 允许上传文件的最大值。

4.max_file_uploads = 20 允许一次上传文件的个数

5.post_max_size = 3M 允许使用POST上传的最大值,必须大于upload_max_filesize 值

文件上传upload.html案例:

[cce_html]

<body>
<h1>Upload new news files</h1>

//在form标记中需要设置enctype=”multipart/form-data”来确定为上传文件的表单信息
<form action=”upload.php” method=”post” enctype=”multipart/form-data”>
<div>

//定义最大值
<input type=”hidden” name=”MAX_FILE_SIZE” value=”1000000″ />
<label for=”userfile”>Upload a file:</label>

//定义上传文件名
<input type=”file” name=”userfile” id=”userfile” />
<input type=”submit” value=”Send File” />
</div>

</form>
</body>

[/cce_html]

 

文件上传 upload.php 案例:

[cce_php]

<!DOCTYPE html PUBLIC “-//W3C//DTD XHTML 1.0 Transitional//EN” “http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd”>
<html xmlns=”http://www.w3.org/1999/xhtml”>
<head>
<meta http-equiv=”Content-Type” content=”text/html; charset=utf-8″ />
<title>Uploading…..</title>
</head>

<body>
<h1>Uploading file…</h1>
<?php
if ($_FILES[‘userfile’][‘error’]>0) {
echo ‘Problem';
switch ($_FILES[‘userfile’][‘error’])
//检查错误常量,0无误,1超出PHP大小,2超出HTML大小,3上传一部分,4没有文件上传,6PHP临时目录不存在,7文件写入失败
{
case 1: echo ‘File exceeded upload_max_filesize';
break;
case 2: echo ‘File exceeded max_file_size';
break;
case 3: echo ‘File only partially uploaded';
break;
case 4: echo ‘No file uploaded';
break;
case 6: echo ‘Cannot upload file: NO temp directory specified';
break;
case 7: echo ‘Upload failed: Cannot write to disk';
break;
}
exit;
}

if ($_FILES[‘userfile’][‘type’] != ‘text/plain’)
//检查是文件类型是否为文本
{
echo ‘Problem:bile is not plain text';
exit;
}

//定义文件路径
$upfile = ‘$DOCUMENT_ROOT/../uploads/’.$_FILES[‘userfile’][‘name’];

//判断文件是否上传成功
if (is_uploaded_file($_FILES[‘userfile’][‘tmp_name’]))

//移动文件,并判断是否移动成功
{
if(!move_uploaded_file($_FILES[‘userfile’][‘tmp_name’],$upfile))
{
echo ‘Problem: Could not move file to destination directory';
exit;
}
}
else
{
echo ‘Problem:Possible file upload attack. Filename:';
echo $_FILES[‘userfile’][‘name’];
exit;
}

echo ‘File uploaded successfully <br />';

//读取文件到一个字符串
$contents=file_get_contents($upfile);

//删除文件中的标签
$contents = strip_tags($contents);

//将新内容重新写入文件
file_put_contents($_FILES[‘userfile’][‘name’], $contents);

echo ‘<p> Preview of uploaded file contents:<BR /> <hr />';
//在文本文件之前加入/n 且输出
echo nl2br($contents);
echo ‘<br /><hr />';
?>
</body>
</html>

[/cce_php]

PHP 屏蔽用户输入函数

addslashes() 过滤数据,一般在用户数据要进入数据库前使用,可以使用stripslashes()来返回过滤数据的原值;

在PHP.ini中开始magic_quotes_gpc和magic_quotes_runtime功能,将自动添加和过滤斜杠,magic_quotes_gpc用来格式化GET,POST,cookie. magic_quotes_runtime用于进出数据库的数据

escapeshellcmd() 用于把数据转给system()或exec()前对数据查核

strip_tags() 去掉字符中的HTML和PHP标记

htmlspecialchars() 将字符中的字符转换成HTML等价实体。