我有一个名为Prestashop的电子商务包.它们允许您销售虚拟产品,可下载的项目,如软件,电子书等.
他们的软件存在问题,他们将可下载产品的物理文件名命名为40-char hash,没有扩展名.然后,当客户下载文件时,系统应该检查MIME类型,以便在将文件发送到客户的浏览器之前将其设置在标题中.
这就是问题所在.他们使用四种方法来确定MIME类型.
finfo_open() 功能,这个扩展恰好没有安装在我的主机上,所以它失败了.mime_content_type()函数,这将获取没有扩展名的文件,并返回"text/plain"MIME类型,无论MIME类型实际是什么.这个功能已被弃用,我的想法是他们根本不应该使用它.exec('file -bi '.escapeshellarg($file)).这也失败了我的主人.我很难解决这个问题,因为他们将文件命名为,当你将它添加到后台而没有扩展名时.我很难看到这一切都有用.
我已经尝试了许多其他修复,包括CURLINFO_CONTENT_TYPE从cURL调用下载文件,BTW,为同一文件返回'text/plain'.
关于如何解决这个问题的任何想法?
解决方案用...
if (empty($mime_type))
{
$bName = basename($filename);
$bName = explode('.', $bName);
$bName = strtolower($bName[count($bName) - 1]);
$mimeTypes = array(
'ez' => 'application/andrew-inset',
'atom' => 'application/atom+xml',
'jar' => 'application/java-archive',
'hqx' => 'application/mac-binhex40',
'cpt' => 'application/mac-compactpro',
'mathml' => 'application/mathml+xml',
'doc' => 'application/msword',
'dat' => 'application/octet-stream',
'oda' => 'application/oda',
'ogg' => 'application/ogg',
'pdf' => 'application/pdf',
'ai' => 'application/postscript',
'eps' => 'application/postscript',
'ps' => 'application/postscript',
'rdf' …Run Code Online (Sandbox Code Playgroud) 我使用以下路由在ASP.NET 4.0中实现了URL路由.
routes.MapPageRoute(
"NewsDetails", // Route name
"news/{i}/{*n}", // Route URL
"~/newsdetails.aspx" // Web page to handle route
);
Run Code Online (Sandbox Code Playgroud)
这让我感觉像
http://www.mysie.com/news/1/this-is-test-news
Run Code Online (Sandbox Code Playgroud)
这在我的localhost工作正常.
但是当我将它上传到服务器上时,它给出了...
Server Error
404 - File or directory not found.
The resource you are looking for might have been removed, had its name changed,
or is temporarily unavailable.
Run Code Online (Sandbox Code Playgroud)
如果我尝试http://www.mysie.com/news/1/this-is-test-news.aspx,那么它会显示页面.
有没有人有同样的问题?
如何设置URL http://www.mysie.com/news/1/this-is-test-news 在Windows Server 2008上运行?
我有一组MyClass1, MyClass2, MyClass3实现接口(IMyClass)的classes ().
我有兴趣创建一个方法来填充和返回Collection.Generics.Lists<>具有公共接口MyClassX(List<IMyClass>)的对象的list ().但是怎么样?
每个类都有一个构造函数MyClassX,可以执行不同的操作.所以我无法创建BaseClass并为所有人使用通用构造函数.
按接口我做不到:
public List<IMyClass> Fill(string[] ItemsPassedByParam, IMyClass InstanceOfMyClassX)
List MyList = new List<IMyClass>();
foreach (item in ItemsPassedByParam)
{
MyList.Add (new IMyClass (item)); //can't do new from an Interface!!
}
}
Run Code Online (Sandbox Code Playgroud)
此外,我尝试在下一个示例中使用泛型类型TMyClass,但两个都没有为我工作(虽然我对泛型类型没有非常深刻的概念):
public List<TMyClass> Fill(string[] ItemsPassedByParam, Type TypeOfMyClassX)
List MyList = new List <TMyClass> ();
foreach (item in ItemsPassedByParam)
{
MyList.Add (new TMyClass (item)); //can't do new from a …Run Code Online (Sandbox Code Playgroud) 今天的Code Golf挑战是尽可能少地创建一个正则表达式解析器.
不,我不是要求你匹配Perl风格的正则表达式.毕竟,对于那些人来说,已经有一个非常可靠的翻译!:-)
以下是您需要了解的有关此挑战的正则表达式语法的所有信息:
().*(星号)字符表示Kleene星操作在上一届.这意味着前一个词的零个或多个连接在一起.+(加)字符表示一个方便快捷方式:a+相当于aa*,这意味着一个或多个之前的术语的.?(问号)字符代表零或前项之一.|(管)字符代表的交替,也就是说,在任一侧上的正则表达式可以在比赛中使用.[0-9A-Za-z](即所有英语字母数字).或者,换一种说法:*/ +/ ?具有最高的优先级,然后串联,然后交替.由于交替的优先级低于连接,因此在没有括号的正则表达式中使用它会导致它被绑定到每一侧的完整正则表达式.*和+和?,在另一方面,将只适用于前一学期.
您的挑战是编写一个程序来编译或解释正则表达式(如上所定义),然后针对它测试一些字符串.
我要把输入留给你了.我的建议是,正则表达式可能应该首先出现,然后对任何数量的字符串进行测试; 但如果你想让它持久,那很好.如果你想把所有东西放在命令行参数或stdin,或命令行中的正则表达式和stdin中的字符串,或其他什么,那很好.只显示一两个用法示例.
输出应该是true或false每行一个,以反映正则表达式是否匹配.
笔记:
()*+?|都不会按字面意思出现.如果输入中有一个,可以安全地假设没有模式可以匹配相关字符串.对于这些示例,我假设一切都是在命令行参数中完成的,首先是regex.(正如我上面所说,输入取决于你.)myregex这里代表你对程序的调用.
> myregex easy easy Easy hard
true
false
false
> myregex ab*a aa …Run Code Online (Sandbox Code Playgroud) 只是一个短期的问题:我如何配置多到一个属性"懒"值"无代理"(这里提到这里的流利NHibernate的)?
大家早上好,
我为我们网站中的某些页面创建了不同的背景和一些其他图像.目前,以下代码与我们网站上的"儿童"页面配合得很好.
<body<?php if ( is_page(array('kids'))) {
echo ' class="kids" '; } ?>>
Run Code Online (Sandbox Code Playgroud)
我试图弄清楚如何将相同的CSS添加到"孩子"页面下的其他页面.所以,如果你去看孩子/块派对,我怎么能把它添加到代码中来调用那个特殊的CSS呢?
我试过以下
<body<?php if ( is_page(array('kids, kids/block-party'))) {
echo ' class="kids" '; } ?>>
Run Code Online (Sandbox Code Playgroud)
逗号似乎没有出于某种原因注册.
这是一个wordpress运行网站.
谢谢
我们有html列表:
<ul class="list">
<li>some text<li>
<li>some text<li>
<li>some text<li>
<li>some text<li>
<li>some text<li>
...
<li>some text<li>
</ul>
Run Code Online (Sandbox Code Playgroud)
可以有超过100个 <li>
怎么做:
1)为每个<li>带有数字的id 添加,例如:
<li id="item1">some text<li>
<li id="item2">some text<li>
...
<li id="item200">some text<li>
Run Code Online (Sandbox Code Playgroud)
等等,到最后.
2)计算所有<li>内部<ul class="list">
3)第二步后,如果超过60 <li>,将其ID(项目编号)添加到阵列1,所有其他<li>ID添加到阵列2(从60到最后,如果有500则从60到500 <li>).
谢谢!
如何将字符串从活动传递到布局?我可以使用以下活动代码将数组从活动传递到布局
ListView remedyList = (ListView) findViewById(R.id.ListView_Symptom);
String remedyArray[] = new String[30];
ArrayAdapter<String> adapt = new ArrayAdapter<String>(this, R.layout.menu_item, remedyArray);
remedyList.setAdapter(adapt);
Run Code Online (Sandbox Code Playgroud)
是否有更简单的方法来传递单个字符串而不是任何字符串数组,从活动到布局?
我有一个批处理文件,运行一个richcopy程序,我想监视错误级别到目前为止,我有这个
IF(%ERRORLEVEL%== 0)转到OK其他IF(%ERRORLEVEL%== 3010)转到报告
:报告
:好的结束
我想要做的是将错误报告给事件查看器,以便可以通过另一个监视事件日志的应用程序来监视它.
.net ×1
android ×1
arrays ×1
asp.net-4.0 ×1
batch-file ×1
c# ×1
code-golf ×1
collections ×1
copy ×1
css ×1
generics ×1
interface ×1
jquery ×1
mime-types ×1
php ×1
regex ×1
routing ×1
sql ×1
sql-server ×1
types ×1
wordpress ×1