<?php
require_once("phpmailer/class.phpmailer.php");
if (isset($_POST['odeslat'])){
$allowedExts = array("doc", "docx", "xls", "xlsx", "pdf");
$temp = explode(".", $_FILES["file"]["name"]);
$extension = end($temp);
$jmeno = $_POST['jmeno'];
$email = $_POST['email'];
$telefon = $_POST['telefon'];
$text = $_POST['zprava'];
$mail = new PHPMailer();
//From email address and name
$mail->CharSet = "UTF-8";
$mail->From = "info@mail.com";
$mail->FromName = "MAIL";
//To address and name
$mail->addAddress("yourmail@mail.com"); //Recipient name is optional
$mail->AddAttachment($_FILES['file']['tmp_name'], $_FILES['file']['name']);
//Send HTML or Plain Text email
$mail->isHTML(true);
$mail->Subject = "Server email";
$mail->Body = "<p><strong>Jméno:</strong> $jmeno</p>
<p><strong>E-mail:</strong> $email</p>
<p><strong>Telefon:</strong> $telefon</p>
<p><strong>Text:</strong> $text</p>
";
$mail->AltBody = "Jméno: $jmeno \n
E-mail: $email \n
Telefon: $telefon \n
Text: $text\n
";
if(!$mail->send())
{
header ("Location: http://mypage.com/dotaznik.php?e=1");
exit();
}
else
{
header ("Location: http://mypage.com/dotaznik.php?o=1");
exit();
}
}
?>
导致此问题的代码评估是什么?
我理解这里评估了2个代码路径,我假设ruby首先计算表达式,然后计算public function delete($id = null) {
$this->User->id = $id;
if (!$this->User->exists()) {
throw new NotFoundException(__('Invalid user'));
}
if ($this->User->saveField('status', 0);) {
$this->Flash->success(__('User deleted'));
return $this->redirect(array('action' => 'index'));
}
$this->Flash->error(__('User was not deleted'));
return $this->redirect(array('action' => 'index'));
}
表达式,然后才计算irb(main):012:0> Time.now - 1.hour.ago
=> 3599.999604
表达式。 2之间的时差是ruby解释器运行评估所需的时间。
答案 0 :(得分:4)
确定现在的时间需要很短但非零的时间。在这种情况下,差异是395μs。在我的机器上使用Ruby 2.3.1进行的快速测试显示出16μs的差异,这更像我期望的。我不确定为什么计算机器上的当地时间需要这么长时间,但这可能只是一个随机的事情。
如果您想要完全值,请尝试以下操作:
Time.now - 1.hour
请记住,时间是完全疯狂的,“一小时前”可能意味着两小时前,或零小时前,或者完全取决于您何时调用此代码。夏令时混淆了它触及的一切。
答案 1 :(得分:2)
这不仅仅是红宝石。您的操作系统也可以中断您的程序,并导致1.hour.ago
和Time.now
之间的巨大误差
您可以通过冻结参考时间来阻止它
t = Time.now
t - 1.hour.ago(t)