我正在开发一个PHP上传脚本,允许.mp3文件上传等.我创建了一个数组,指定允许的文件类型,包括mp3,并设置最大上传限制为500MB:
// define a constant for the maximum upload size
define ('MAX_FILE_SIZE', 5120000);
// create an array of permitted MIME types
$permitted = array('application/msword', 'application/pdf', 'text/plain', 'text/rtf', 'image/gif', 'image/jpeg', 'image/pjpeg', 'image/png', 'image/tiff', 'application/zip', 'audio/mpeg', 'audio/mpeg3', 'audio/x-mpeg-3', 'video/mpeg', 'video/mp4', 'video/quicktime', 'video/x-ms-wmv', 'application/x-rar-compressed');
Run Code Online (Sandbox Code Playgroud)
到目前为止,在测试中所有指定的文件类型都已成功上传,但由于某种原因,它会出现.mp3的错误.正如你在上面看到的那样,我已经包含了audio/mpeg,audio/mpeg3和audio/x-mpeg-3,但它们似乎没有任何区别.
有人可以建议问题可能是什么,并指出哪个音频类型是允许.mp3上传所需的音频类型?
谢谢
更新:我用来运行文件检查的代码如下:
// check that file is within the permitted size
if ($_FILES['file-upload']['size'][$number] > 0 || $_FILES['file-upload']['size'][$number] <= MAX_FILE_SIZE) {
$sizeOK = true;
}
// check that file is of an permitted MIME type
foreach ($permitted …
Run Code Online (Sandbox Code Playgroud) 是否可以在通过iPhone OS 3.0上的MFMailComposeViewController发送的HTML电子邮件中嵌入对图像的引用?
(void)addAttachmentData:(NSData*)attachment mimeType:(NSString*)mimeType fileName:(NSString*)filename
Run Code Online (Sandbox Code Playgroud)
似乎没有提供任何设置或读取附件的Content-ID标头的方法,但有没有办法使这项工作?
我见过这样做的应用程序,但他们可能正在使用SKPSMTPMessage ......
还有其他multipart/form-data
喜欢enctype
但不是form-data
吗?
编辑
特别是,其他人在Web应用程序中使用了什么?
我决定在他们的网站上使用一些入门脚本深入了解perl.我从http://learn.perl.org/examples/email.html开始尝试基本的电子邮件发送脚本.
这是实际的代码:
#!/usr/bin/perl
use strict;
use warnings;
#Character encoding var
my $encoding='text/plain; charset="iso-8859-5"';
#Create the message
use Email::MIME;
my $message = Email::MIME->create(
header_str => [
From => 'gmail@gmail.com',
To => 'gmail2@gmail.com',
Subject => 'I sent you this message using Perl.',
],
body_str => 'I sent you this message using Perl. One of those languages that would\' would\'ve been helpful much sooner in my life...',
);
use Email::Sender::Simple qw(sendmail);
sendmail($message);
Run Code Online (Sandbox Code Playgroud)
我做的perl script.pl
是一个错误信息
body_str was given, but no …
Run Code Online (Sandbox Code Playgroud) 将我的JavaScript,PHP和其他相关文件上传到Web托管服务器并尝试在浏览器上运行它时出现以下错误:
Resource interpreted as Script but transferred with MIME type text/html: "http://stats.hosting24.com/count.php".
Run Code Online (Sandbox Code Playgroud)
似乎html和php文件工作正常,但我认为js文件有问题.如果有人能解释实际问题是什么以及如何解决,我会非常感激.
最好..
我正在使用PHP将图像处理成缩略图,我允许通过以下3种单独的扩展类型:.jpg,.jpeg和.png ...前2个,后者必须通过不同的功能处理,即分别是createimagefromjpg()和createimagefrompng().
我正在抓取图像的文件扩展名,然后使用if语句检查它是哪种文件类型,以便正确处理它:
$extension = pathinfo($filename, PATHINFO_EXTENSION);
// Read source image
if ($extension == ('jpg' || 'jpeg')) {
$source_image = imagecreatefromjpeg($filename);
return '1';
} else if ($extension == 'png') {
$source_image = imagecreatefrompng($filename);
return '2';
} else {
return 'error';
}
Run Code Online (Sandbox Code Playgroud)
jpg和jpeg图像处理正确,因为此函数返回1 ...所以一切似乎都很好.但是,当我通过png文件时,它同样进入第一个分支并返回'1',即使png!= jpeg或jpg.奇怪的.此错误导致我的缩略图根本无法生成.
它变得更加令人困惑.如果我启用严格的比较替换==
用===
在IF statemtn,JPG和JPEG文件报错了完全说明,显然"JPG"!="JPG"(即使它),并同样与JPEG格式.PNG文件完全破坏了脚本.
编辑:问题似乎不是我的IF语句,而是imagecreatefrompng()
功能.它适用于小图像(200x200),但不适用于较大的图像......任何人都可以解释这个吗?
亲爱的朋友们,
我花了最近3天在网上搜索答案,我找不到任何答案.
我发现了很多"几乎"的案例,但没有一个是我正在寻找的.
我能用希伯来语得到主语和正文信息,但我无法用希伯来语得到附件.
顺便说一句,我对PHPMailer等第三方程序不感兴趣.
这就是我得到的:
W_W(W'W_W_.pdf
这就是我想要的:
שלום.PDF
这是我的代码,非常简单..
$boundary = uniqid("HTMLEMAIL");
$separator = md5(time());
$eol = PHP_EOL;
// attachment name
$fileName = "????.pdf";
var_dump($fileName);
$pdfdoc = $pdf->Output("", "S");
$attachment = chunk_split(base64_encode($pdfdoc));
// main header (multipart mandatory)
$headers = [];
$headers[] = "From: $from";
$headers[] = "MIME-Version: 1.0";
$headers[] = "Content-Type: multipart/mixed; boundary=\"".$separator."\"";
$headers[] = "This is a MIME encoded message.";
// message
$msg = "--".$separator.$eol;
$msg .= "Content-Type: text/html; charset=UTF-8".$eol;
$msg .= "Content-Transfer-Encoding: base64".$eol.$eol;
$msg .= chunk_split(base64_encode($message)).$eol.$eol;
// …
Run Code Online (Sandbox Code Playgroud) 我遇到了PHP的mime_content_type这个怪异的问题,除了CSS和JavaScript文件外,它都能正常工作(CSS的默认mime设置为text / html),但CSS和JavaScript文件除外。
修改mime.types文件似乎没有什么区别(它在httpd.conf上的路径正确)。
例子
<?php
echo(mime_content_type('index.html')); // returns text/html
echo(mime_content_type('default.png')); // returns image/png
echo(mime_content_type('bootstrap.min.js')); // returns text/plain
echo(mime_content_type('css/animate.css')); // returns text/plain
echo(mime_content_type('css/style.css')); // returns text/x-asm
?>
Run Code Online (Sandbox Code Playgroud)
在完全相同的Apache安装上提供的完全相同的文件会在其Content-Type
标头上正确标记,这几乎就像PHP在使用其mime检测机制一样。
我使用Wamp 3.0.6 64-bit
和内置PHP 7.0.10
上Windows 10 64-bit build 15063.483 mod_mime and mode_mime_magic
被启用。
我正在尝试使用python,MIMEMultipart和smtp发送html电子邮件。html很长,因此我将所有html都放在html文件中。现在,我想将html文件导入到我的python文件中(在同一文件夹中),并将所有html设置为名为html_string的python变量中的字符串。
的HTML:
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<title>Welcome to infinity2o</title>
<style type="text/css">
body {
padding-top: 0 !important;
padding-bottom: 0 !important;
padding-top: 0 !important;
padding-bottom: 0 !important;
margin: 0 !important;
width: 100% !important;
-webkit-text-size-adjust: 100% !important;
-ms-text-size-adjust: 100% !important;
-webkit-font-smoothing: antialiased !important;
}
.
.
.
</head>
</html>
Run Code Online (Sandbox Code Playgroud)
如何将所有html导入我的python文件并将其设置为变量:
蟒蛇:
html_string = """
<html>
<head>
<meta http-equiv="Content-Type" content="text/html; charset=utf-8"/>
<title>Welcome to infinity2o</title>
<style type="text/css">
body {
padding-top: 0 !important;
padding-bottom: 0 !important;
padding-top: 0 !important;
padding-bottom: 0 !important;
margin: …
Run Code Online (Sandbox Code Playgroud) 我将nginx配置为仅加载静态文件,但我不知道为什么.css文件被解释为文本/纯文本-最终浏览器无法加载它。
Resource interpreted as Stylesheet but transferred with MIME type text/plain: "http://localhost:13000/styles.css".
Run Code Online (Sandbox Code Playgroud)
当我在CSS文件的Web浏览器中检查响应标头时:
Content-Type: text/plain
Run Code Online (Sandbox Code Playgroud)
我知道在堆栈上我们有很多问题,我已经读过它们,但仍然无法正常工作。
在html文件中,我刚刚导入了CSS:
<link href="styles.css" rel="stylesheet" type="text/css"/>
Run Code Online (Sandbox Code Playgroud)
我的/etc/nginx/nginx.conf是:
worker_processes 1;
events {
worker_connections 512;
}
http {
server {
listen 80;
server_name 0.0.0.0:80;
include /etc/nginx/mime.types;
root /project/app;
location ~* ^.+\.(js|css)$ {
expires 10d;
}
}
}
Run Code Online (Sandbox Code Playgroud)
我尝试了没有任何位置部分或尝试:
location ~ \.css {
add_header Content-Type text/css;
}
Run Code Online (Sandbox Code Playgroud)
在其他线程的一些响应中,我看到这是必需的:
default_type application/octet-stream;
include /etc/nginx/mime.types;
Run Code Online (Sandbox Code Playgroud)
我添加了http
一部分,server
然后再添加到中location
,仍然没有帮助。
还有什么我可以解决的吗?