我创建了一个小的 shell 脚本,它将所有输入记录到一个日志文件中,我以为我可以用它来替换 sendmail 二进制文件,从而实现一种简单的方法来模拟电子邮件传送,而无需实际设置一个工作的 sendmail。
然而,这失败了。由于我无法理解的原因。
我查看了 PHP mail.c 源代码,据我所知(请注意,我在 C 方面不是很有经验),PHP 直接执行并与二进制文件对话(在 中设置sendmail_path)。但是,当我用脚本替换 sendmail 二进制文件时,不会创建任何日志文件,并且替换 sendmail 的脚本在执行时将始终创建一个日志文件,无论是否存在输入。
脚本本身运行良好。它的返回码应该与sendmail 的返回码一致。不同之处在于,无论输入如何,我的脚本总是返回 0,因为我对检查输入是否有效并不真正感兴趣 - 只是我得到了一些。
是否可以实现我想要的,即使用 sendmail 模拟器?
脚本源码如下:
#!/bin/bash
LOGDIR=/tmp/sendmail-sim
NOW=$(date +%Y%m%dT%H%M)
CNT=1
FILENAME="$LOGDIR/$NOW.$CNT.log"
while [ -f $FILENAME ]; do
CNT=$(($CNT + 1))
FILENAME="$LOGDIR/$NOW.$CNT.log"
done
echo "$0 $*" > $FILENAME
while read BUF
do
echo $BUF >> $FILENAME
done
exit 0
Run Code Online (Sandbox Code Playgroud)
附言。我当前的 sendmail (或者实际上是 postfix)确实从 PHP 接收电子邮件,但我不想实际发送任何电子邮件或需要在开发中挖掘其邮件队列。
导出/导入整个模式的旧方法:
exp user/pwdp@server FILE=export.dmp OWNER=user ROWS=Y
imp newuser/pwd@server FULL=Y FILE=export.dmp
Run Code Online (Sandbox Code Playgroud)
新的方法:
expdp user/pwdp@server DUMPFILE=export.dp DIRECTORY=exportfolder
Run Code Online (Sandbox Code Playgroud)
但是导入有问题:
impdp newuser/pwdp@server DUMPFILE=export.dp DIRECTORY=exportfolder
Run Code Online (Sandbox Code Playgroud)
不会导入任何东西:
Connected to: Oracle Database 10g Enterprise Edition Release 10.2.0.4.0 - 64bit Production
With the Partitioning, OLAP, Data Mining and Real Application Testing options
ORA-31655: no data or metadata objects selected for job
ORA-39154: Objects from foreign schemas have been removed from import
Master table "NEWUSER"."SYS_IMPORT_FULL_01" successfully loaded/unloaded
Starting "NEWUSER"."SYS_IMPORT_FULL_01": newuser/********@server
DUMPFILE=export.dp DIRECTORY=exportfolder
Processing object type SCHEMA_EXPORT/TABLE/TABLE_DATA
Job "NEWUSER"."SYS_IMPORT_FULL_01" successfully …Run Code Online (Sandbox Code Playgroud) 一些背景:我正在构建一个自定义的JSF组件.该组件基本上是一个文本编辑器,它应该有一个"保存"按钮,用于保存编辑器的内容字符串.当我使用CodeMirror库时,我需要使用javascript从编辑器中获取内容(字符串)并将其发送到服务器.因此,在这种情况下我不能使用基于XML的JS调用等f:ajax.
问题:我计划发送字符串jsf.ajax.request,但它不直接支持在bean上调用方法.如何以AJAX方式使用JSF调用bean中的方法?
至少有两种解决方法:
XMLHttpRequest(或者可能在其他JS库的帮助下)执行请求.创建一个servlet并调用它.两种方式都很笨拙,后者也突破了JSF的范围.
我错过了什么吗?你是怎么做到的?
有一个非常相似的问题,但给出的答案仅涉及基于XML的AJAX调用.还有另一个类似的问题,但它也指基于XML的AJAX调用.
我特别询问是否以及什么是格式化QR代码中的文本的规范 - 而不是如何生成代码(我可以做).
我需要将hCard数据放入QR码中,但我不知道如何将QR码标记为VCF数据(与URL,文本等对比),因此解码器知道该怎么做.
我在网上看到的所有信息都与生成QR码有关,而不是格式化里面的数据.
我正在尝试将我的.profile,.rvm和.ssh文件夹/文件复制到新计算机上,我知道如何使用cp和ssh命令,但我不知道如何使用它们来将文件从一台计算机传输到另一个.任何帮助都会很棒,谢谢!
我有一个局部视图,将对象列表呈现为表格格式,并允许编辑值...
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IList<whoozit.Models.PictureModel>>" %>
<% foreach (whoozit.Models.PictureModel p in Model)
{ %>
<td>
<%: Html.TextBox("name",p.name) %>
<%: Html.ValidationMessage(p.name) %>
</td>
<% } %>
Run Code Online (Sandbox Code Playgroud)
我想重构这个以利用mvc2中强类型的html助手.我很难理解如何创建lambda表达式,并希望得到一些帮助.以下对我来说似乎不太正确.
<%@ Control Language="C#" Inherits="System.Web.Mvc.ViewUserControl<IList<whoozit.Models.PictureModel>>" %>
<% foreach (whoozit.Models.PictureModel p in Model)
{ %>
<td>
<%: Html.TextBoxFor(???) %>
</td>
<% } %>
Run Code Online (Sandbox Code Playgroud) 我有几个字符串组合起来构建一个完整的路径.例如
$base = "http://foo.com";
$subfolder = "product/data";
$filename = "foo.xml";
// How to do this?
$url = append_url_parts($base, $subfolder, $filename); ???
Run Code Online (Sandbox Code Playgroud)
字符串连接不会,这将省略必要的正斜杠.
在Win32中,我使用PathCombine()或PathAppend(),它将处理在字符串之间添加任何必要的斜杠,而不会加倍.在PHP中,我应该使用什么?
我们可以通过url访问Mediawiki的所有页面./wiki/Special:Allpages.
但是没有命名的php文件Special:Allpages.mediawiki如何实现它?
谢谢.
我很难让简单的文件上传测试工作.我在使用Cucumber和Capybara的ruby 1.9.2上使用Rails 3.0.0.
视图:
<%= form_tag "/upload/create", :multipart => true do %>
<label for="file">File to Upload:</label>
<%= file_field_tag "file" %>
<%= submit_tag "Upload" %>
<% end %>
Run Code Online (Sandbox Code Playgroud)
黄瓜步骤:
When /^I upload the basic file$/ do
visit path_to("upload")
path = File.join(::Rails.root, "somefile")
attach_file("file", path)
click_button("Upload")
end
Run Code Online (Sandbox Code Playgroud)
在我的控制器中,除了:
def create
file = params[:file]
end
Run Code Online (Sandbox Code Playgroud)
Gemfile片段:
group :development, :test do
# testing with specs
gem "ZenTest", ">= 4.3.3"
gem "autotest"
gem "rspec-rails", ">= 2.0.0.beta.19", :git => "git://github.com/rspec/rspec-rails.git"
gem "rspec", :git => "git://github.com/rspec/rspec.git"
gem …Run Code Online (Sandbox Code Playgroud) 我想链接多个流操作(例如下载文件,动态解压缩,以及处理没有任何临时文件的数据).这些文件是7z格式.有一个LZMA SDK可用,但强制我创建一个外部输出流而不是一个流本身 - 换句话说,输出流必须完全写入才能使用它.SevenZipSharp似乎也缺少这个功能.
有没有人这样做过?
// in pseudo-code - CompressedFileStream derives from Stream
foreach (CompressedFileStream f in SevenZip.UncompressFiles(Web.GetStreamFromWeb(url))
{
Console.WriteLine("Processing file {0}", f.Name);
ProcessStream( f ); // further streaming, like decoding, processing, etc
}
Run Code Online (Sandbox Code Playgroud)
每个文件流的行为类似于表示一个文件的一次性读取流,并且在主压缩流上调用MoveNext()会自动使该文件无效并跳过该文件.
可以进行类似的构造以进行压缩.示例用法 - 对非常大量的数据进行一些聚合 - 对于dir中的每个7z文件,对于每个文件内部,对于每个文件中的每个数据行,总结一些值.
更新2012-01-06
#ziplib(SharpZipLib)已经完成了我需要的带有ZipInputStream类的zip文件.下面是一个示例,它将所有文件生成为给定zip文件中不可搜索的流.仍在寻找7z解决方案.
IEnumerable<Stream> UnZipStream(Stream stream)
{
using (var zipStream = new ZipInputStream(stream))
{
ZipEntry entry;
while ((entry = zipStream.GetNextEntry()) != null)
if (entry.IsFile)
yield return zipStream;
}
}
Run Code Online (Sandbox Code Playgroud) macos ×2
php ×2
.net ×1
7zip ×1
ajax ×1
asp.net-mvc ×1
bash ×1
capybara ×1
compression ×1
copying ×1
cucumber ×1
data-formats ×1
file ×1
file-upload ×1
html-helper ×1
impdp ×1
import ×1
java ×1
javascript ×1
jsf ×1
jsf-2 ×1
mediawiki ×1
oracle10g ×1
qr-code ×1
redirect ×1
sendmail ×1
stream ×1
terminal ×1
unix ×1