-----上一讲里,结果还作为新闻发布在首页
分类:热门新闻

三 首页音讯发布,令你更新更轻松-----上一讲里,大家早已落到实处了首页音讯揭橥的底子效。在这一讲里,大家再给它遮风挡雨,使它的功效进一层强盛。 -----首先,大家再显著一下大家想获取怎么着平价。大家不希望几十天以往的事情物大家忘了剔除,结果还作为消息发布在首页。假诺大家在宗旨贯彻中寄放一段代码,比方说用filectime($filename卡塔尔国,那么在UNIX下,我们就足以获取从一九七〇年12月1日起以秒计到最后三遍文件被更动的时间,而从 1968年7月1日起以秒计到前日的秒数能够用$mynow=mktime(卡塔尔国来得到,减法,决断,IF 我们意在的日子,嘿嘿,Sorry,unlink($newspath.$filenameState of Qatar……什么?!您问这段代码应该放在哪里?您说吗,呵呵。 也许,你而不是常在一台机械上上网,当您收获了一条新的资源消息后却不在你的爱机旁,怎么做?最理想的莫过于在主页上上传文件咯。你恐怕有二个页面必要用密码技术跻身。上面是一段处处可以见到的公文上载的代码: ? if(isset($upfile卡塔尔国卡塔尔(قطر‎ { ? 已上载的文件消息如下: 文件寄存路线: ?echo $upfile;? 原始文件名: ?echo $upfile_name;? 文件大小(字节卡塔尔(قطر‎: ?echo $upfile_size;? 文件类型: ?echo $upfile_type;? ? } else { ? html headtitle音信上传/title/headbody form enctype="multipart/form-data" method="post" action="?echo $PHP_SELF;?" input type="hidden" name="MAX_FILE_SIZE" value="50000" 请选用或输入上传文件名: input name="upfile" type="file" input type="submit" value="上传" name="submit" /form /body/html ? } ? -----这里我们又见到了PHP和HTML结合的一种样式,能够借鉴。文件上载即使有扶植,但总给人一种海市蜃楼的感到。一旦泄密,你的服务器的系统安全就蒙受了威迫,因为上载的公文可能是一对破坏性的试行文书妥善的做法是写一个在线编辑的文书,下边是二个示范: 〈?php function mywritefile($filename,$contents卡塔尔{ if($fp=fopen($filename,"w"卡塔尔(قطر‎卡塔尔(قطر‎{ fwrite($fp,strpslashes($contents卡塔尔(قطر‎卡塔尔(قطر‎; fclose($fp卡塔尔国; return 1; } else {return 0;}; }; //判别表单再次回到的变量 if($submitButton=="完结"State of Qatar{ $rs=mywritefile("$page","$test"卡塔尔(قطر‎; echo "a href ="$page"$page/abr"; } elseif($action=="page"卡塔尔//变量action值为"page"的情况 {$contents="$page"; $fp=@fopen($content,"w+"State of Qataror die(Could not open file!); $contents=htmlspecialchars($contents); fclose($fp); echo "form action="admin.php?page=$page" method="POST" wrap=soft"; echo "$contents"; echo "/textarea"; echo "input type="submit" name="submitButton" value="完成""; echo "/form"; } else {echo "form action="basename($PHP_SELF卡塔尔国.?action=page" method="POST"";//注意引用程序内变量的章程。 echo "input type=text size=20 name=page"; echo "input type="submit" name="send" value="选定""; echo "/form"; } ? -----至此,首页音讯发表的兑现已经足以告一段落了。 大家能够开掘,任何三个效用强盛的陈程式都是由一些简便的效果与利益组合而成的。第三片段职能的整整宏观进度选择叠合巩固的点子,和软件工程的自顶向下,逐层深入分析的开荒方法是不均等的。那是贰个适用于学习的秘诀,自身写写习作照旧挺管用的,呵呵。

三 首页音讯宣布,让您更新更自在 -----上一讲里,大家已经贯彻了首页音讯发布的基本效用。在此一讲里,大家再给它避风挡雨,使它的功力越来越有力。(叁个好用的软件,其实也等于基本成效加上一群从属成效,那个专项功效主要也是图个有援救而已,呵呵) -----首先,我们再鲜明一下大家想获得如何平价。我们不期望几十天以往的事情物大家忘了去除,结果还作为音信揭橥在首页。假使我们在着力落到实处中放到一段代码,例如说用filectime,那么在UNIX下,大家就能够得到从1969年六月1日起以秒计到最终三回文件被转移的年华(在WINDOWS下回到的是文本生成的日鸡时间),而从 一九七〇年1月1日起以秒计到现行的秒数能够用$mynow=mktime(State of Qatar来博取,减法,判定,IF >我们期待的小时,嘿嘿,Sorry,unlink……什么?!您问这段代码应该投身哪儿?您说呢,呵呵。 也许,你实际不是常在一台机器上上网,当您获得了一条新的信息后却不在你的爱机旁,如何做?最美妙的实际上在主页上上传文件咯。你也有二个页面须求用密码本事进来(假诺你还尊敬本人的网址的话,那是有须要的,最佳连文件名都不要让旁人知道,呵呵)。上面是一段四处可以看到的文本上载的代码: if { ?>已上载的公文音信如下: 文件贮存路线: 原始文本名: 文件大小: 文件类型: }else { ?>

异步的文本上传是在现代的AJAX达成的Web应用里面日常要相遇,必须解决的题材。但是正式的AJAX类(XmlHttpRequest)不能够兑现传输文件的功用。因而,这里研商的原委正是什么在AJAX的技术的幼功之上创设异步的文件上传功效。在此个意义当中必要利用到内置的框及(IFRAME)来传输文件。那些效率实现的效应是页面在上传文件的时候,客商还能运用该页面并且填写文件陈说。

资源音讯上传

  这几个例子是我们引用AJAX的经文案例进行解析的。

} ?>-----这里大家又看见了PHP和HTML结合的一种情势,能够借鉴。文件上载就算便民,但总给人一种不责任感。一旦泄密,你的服务器的系统安全就饱尝了威迫,因为上载的文书只怕是有个别破坏性的施行文书妥贴的做法是写叁个在线编辑的公文,上边是二个演示: 〈?php function mywritefile{ if($fp=fopen($filename,"w"卡塔尔国卡塔尔国{ fwrite($fp,strpslashes; fclose; return 1; }else {return 0;}; }; //判定表单重返的变量 if($submitButton=="达成"卡塔尔(قطر‎{ $rs=mywritefile("$page","$test"卡塔尔; echo "$page
"; } elseif($action=="page") //变量action值为"page"的情况 {$contents="$page"; $fp=@fopen($content,"w+")or die('Could not open file!'State of Qatar; $contents=htmlspecialchars; fclose; echo ""; } else {echo ""; } ?> -----至此,首页音信宣布的落实已经得以告一段落了。 大家得以窥见,任何三个功能强盛的陈程式都以由局地粗略的功用组合而成的。第三部分职能的成套宏观进程使用叠合增强的点子,和软件工程的自顶向下,逐层剖析的开拓方法是不相似的。这是四个适用于上学的秘技,本人写写习作照旧挺管用的,呵呵。

  系统情形

  · 较新本子的浏览器。比如Opera,Firefox大概 Internet Explorer。

  · PHP 4.3.0 或更加高版本

  · PHP 5 版本

  · PHP 中的 'short_open_tag' 选项开启(否则会生出分析错误卡塔尔。

  作用解析

  通过嵌入的IFRAME(框架)举办文件上传。具备富含多个部分构成。

  · 在页面中间有一个粗略的<form...表单,表单只满含了<input type="file" ... >控件。那些表单的靶子链接正是三个藏身得IFRAME(通过 CSS的品格" display: none;"完毕卡塔尔並且表单里面唯一一个控件的OnChange事件用来触发JavaScript函数。那一个函数的遵从是检查顾客提交的增添名,然后交给表单。

  · 在服务器端用PHP编写了三个管理进程(用FILEFRAME坐注释了)。那么些处理进度用来把从顾客端上传的文本进行自己商讨后保存在服务器,并且经过Javascript代码的花样重回给顾客。再次来到给客户的Javascript脚本通过"parent.window.document"校订了客商以后正在查阅的页面,设置了文件的称谓并启用了让客商提交表单的按键。启用开关的操作是通过getElementById函数达成的。

  · 在主页面还或许有一个表单,它包含了客商提交的汇报和隐形的文件名。顾客可以在文书上传的还要填写文件的陈述。当文件上传停止未来,客户点击开关,就足以倾心传现在重临给客户的文件音讯了。(通过重回来的文书名和顾客输入的叙说构成文件音讯)。

  也许您会说这么操作不相符规律:文件在客商确认以前就已经被提交了。假使客商没有付诸的话,景况会怎样呢。你能够自身在扩充管理被客商舍弃的文件。

  这些事例把公文存款和储蓄在二个文件系统的目录下。你需求在剧本起首运转的时候配置下那一个目录,具体的包蕴这么些目录新闻的变量是$upload_dir 和$web_upload_dir。这里有叁个对目录是还是不是可写的权力检查。

  这里大家用到了以下多少个PHP函数:

  · move_uploaded_file - 转移一经上盛传服务器的文本

  · fopen - 打开文件

  · fwrite - 把内容写入文件

  · fclose - 关闭文件

  · str_replace - 替换字符串

  · filesize - 重返文件大小

  · filemtime - 重回管理时间

  你能够透过手册查到这么些函数假诺运用。请精心要把HTM(<, >, &卡塔尔国标识替换为(<, > 和 &State of Qatar.

  源代码

<?php
$upload_dir = "/var/www/anyexample/aeu"; // 文件存款和储蓄的门路
$web_upload_dir = "/aeu"; // 文件在Web目录下的门路
$tf = $upload_dir.'/'.md5(rand()).".test";
$f = @fopen($tf, "w");
if ($f == false)
die("Fatal error! {$upload_dir} is not writable. Set 'chmod 777 {$upload_dir}'
or something like this");
fclose($f);
unlink($tf);

//管理上传的文书
if (isset($_POST['fileframe']))
{
 $result = 'ERROR';
 $result_msg = 'No FILE field found';

 if (isset($_FILES['file']卡塔尔国卡塔尔 // 从浏览器选取文件
 {
  if ($_FILES['file']['error'] == UPLOAD_ERR_OK卡塔尔(قطر‎ // 未有不当
  {
   $filename = $_FILES['file']['name']; // 文件名
   move_uploaded_file($_FILES['file']['tmp_name'], $upload_dir.'/'.$filename);
   // 管理的主进度-转移文件到 $upload_dir
   $result = 'OK';
  }
  elseif ($_FILES['file']['error'] == UPLOAD_ERR_INI_SIZE)
   $result_msg = 'The uploaded file exceeds the upload_max_filesize directive in php.ini';
  else
   $result_msg = 'Unknown error';
 }

 echo '<html><head><title>-</title></head><body>';
 echo '<script language="JavaScript" type="text/javascript">'."威尼斯登录首页,n";
 echo 'var parDoc = window.parent.document;';
 '
 if ($result == 'OK')
 {
  echo 'parDoc.getElementById("upload_status").value = "file successfully uploaded";';
  echo 'parDoc.getElementById("filename").value = "'.$filename.'";';
  echo 'parDoc.getElementById("filenamei").value = "'.$filename.'";';
  echo 'parDoc.getElementById("upload_button").disabled = false;';
 }
 else
 {
  echo 'parDoc.getElementById("upload_status").value = "ERROR: '.$result_msg.'";';
 }

 echo "n".'</script></body></html>';
 exit();
}

function safehtml($s)
{
 $s=str_replace("&", "&", $s);
 $s=str_replace("<", "<", $s);
 $s=str_replace(">", ">", $s);
 $s=str_replace("'", "'", $s);
 $s=str_replace(""", """, $s);
 return $s;
}

if (isset($_POST['description']))
{
 $filename = $_POST['filename'];
 $size = filesize($upload_dir.'/'.$filename);
 $date = date('r', filemtime($upload_dir.'/'.$filename));
 $description = safehtml($_POST['description']);

 $html =<<<END
 <html><head><title>{$filename} [uploaded by IFRAME Async file uploader]</title></head>
 <body>
  <h1>{$filename}</h1>
  <p>This is a file information page for your uploaded file. Bookmark it, or send to anyone...</p>
  <p>Date: {$date}</p>
  <p>Size: {$size} bytes</p>
  <p>Description:
  <pre>{$description}</pre>
  </p>
  <p><a href="{$web_upload_dir}/{$filename}" style="font-size: large;">download file</a><br>
  <a href="{$PHP_SELF}" style="font-size: small;">back to file uploading</a><br>
  <a href="{$web_upload_dir}/upload-log.html" style="font-size: small;">upload-log</a></p>
  <br><br>Example by <a href="
 </body></html>
 END;
 
 $f = fopen($upload_dir.'/'.$filename.'-desc.html', "w");
 fwrite($f, $html);
 fclose($f);
 $msg = "File {$filename} uploaded,
 <a href='{$web_upload_dir}/{$filename}-desc.html'>see file information page</a>";

 $f = fopen($upload_dir."/upload-log.html", "a");
 fwrite($f, "<p>$msg</p>n");
 fclose($f);

 setcookie('msg', $msg);
 header("Location: );
 exit();
}

if (isset($_COOKIE['msg']) && $_COOKIE['msg'] != '')
{
 if (get_magic_quotes_gpc())
  $msg = stripslashes($_COOKIE['msg']);
 else
  $msg = $_COOKIE['msg'];
  setcookie('msg', '');
}
?>
<!-- Beginning of main page -->
<html><head>
<title>IFRAME Async file uploader example</title>
</head>
<body>
<?php
 if (isset($msg))
  echo '<p style="font-weight: bold;">'.$msg.'</p>';
?>
<h1>Upload file:</h1>
<p>File will begin to upload just after selection. </p>
<p>You may write file description, while you file is being uploaded.</p>

<form action="<?=$PHP_SELF?>" target="upload_iframe" method="post" enctype="multipart/form-data">
 <input type="hidden" name="fileframe" value="true">
 <!-- Target of the form is set to hidden iframe -->
 <!-- From will send its post data to fileframe section of this PHP script (see above) -->

 <label for="file">text file uploader:</label><br>
 <!-- JavaScript is called by OnChange attribute -->
 <input type="file" name="file" id="file" onChange="jsUpload(this)">
</form>
<script type="text/javascript">
/* This function is called when user selects file in file dialog */
function jsUpload(upload_field)
{
 // this is just an example of checking file extensions
 // if you do not need extension checking, remove
 // everything down to line
 // upload_field.form.submit();
 
 var re_text = /.txt|.xml|.zip/i;
 var filename = upload_field.value;

 /* Checking file type */
 if (filename.search(re_text) == -1)
 {
  alert("File does not have text(txt, xml, zip) extension");
  upload_field.form.reset();
  return false;
 }

 upload_field.form.submit();
 document.getElementById('upload_status').value = "uploading file...";
 upload_field.disabled = true;
 return true;
}
</script>
<iframe name="upload_iframe" style="width: 400px; height: 100px; display: none;">
</iframe>
<!-- For debugging purposes, it's often useful to remove
"display: none" from style="" attribute -->

<br>
Upload status:<br>
<input type="text" name="upload_status" id="upload_status"
value="not uploaded" size="64" disabled>
<br><br>

File name:<br>
<input type="text" name="filenamei" id="filenamei" value="none" disabled>

<form action="<?=$PHP_SELF?>" method="POST">
 <!-- one field is "disabled" for displaying-only. Other, hidden one is for sending data -->
 <input type="hidden" name="filename" id="filename">
 <br><br>

 <label for="photo">File description:</label><br>
 <textarea rows="5" cols="50" name="description"></textarea>

 <br><br>
 <input type="submit" id="upload_button" value="save file" disabled>
</form>
<br><br>
<a href="<?=$web_upload_dir?>/upload-log.html">upload-log</a>
<br><br><br>

Example by <a href="
</body>
</html>
威尼斯登录首页 1

本文由威尼斯在线注册平台发布于热门新闻,转载请注明出处:-----上一讲里,结果还作为新闻发布在首页

上一篇:没有了 下一篇:用来验证 email 地址的合法性,了解与懂得使用SPL
猜你喜欢
热门排行
精彩图文