我想在管理模型表单中包含一个文件字段,该表单将用于上载一个文件,然后将读取该文件,内容将用于更新同一模型中的其他字段.处理后文件本身不需要,所以我不希望模型中的文件字段只是在表单中.
我自己覆盖保存和处理表单没有问题,但我无法弄清楚如何在我的表单中包含一个不在模型中的文件字段.
我正在使用一个需要使用PHP Simple HTML Dom Parser的项目,我需要一种方法来根据类名向一些元素添加自定义属性.
我能够使用foreach循环遍历元素,并且很容易设置标准属性,如href,但我找不到添加自定义属性的方法.
我猜的最接近的是:
foreach($html -> find(".myelems") as $element) {
$element->myattr="customvalue";
}
Run Code Online (Sandbox Code Playgroud)
但这不起作用.
我已经看到了类似主题的其他一些问题,但他们都建议使用另一种方法来解析html(domDocument等).在我的情况下,这不是一个选项,因为我必须使用简单的HTML DOM解析器.
我有一系列图像,我使用PHP ImageMagick转换为缩略图.图像是纯白色背景上的产品的JPEG文件.图像周围的白色空间不均匀,所以我想要削掉额外的背景.这是我尝试过的:
$im = new Imagick($imgurl);
$im->trimImage(0);
$im->thumbnailImage(200,0);
$im->writeImage("thumb/".$imgurl);
Run Code Online (Sandbox Code Playgroud)
这有用的thumbnailImage()是创建一个200像素宽的缩略图,但trimImage()没有任何影响,留下与原始图像中相同数量的周围空白.
任何人都可以建议我哪里出错或者我怎么做到这一点.我知道imagemagick trimImage()可以使用模糊,但我找不到如何使用它的一个很好的例子.
这是一个示例图像:

这是我最近关于在列表中搜索字典项的查询的补充问题:
我有一个包含以下格式的字典的数组:
fileList = [
{"fileName": "file1.txt", "fileMod": "0000048723"},
{"fileName": "file2.txt", "fileMod": "0000098573"}
]
Run Code Online (Sandbox Code Playgroud)
我能够使用相当整齐的列表理解返回fileList中现有项的fileMod值列表,如下所示:
fileMod = [item['fileMod'] for item in fileList if item['fileName'] == filename]
Run Code Online (Sandbox Code Playgroud)
如果存在匹配的文件名,则返回一个值,但是我忘了包括我还需要知道何时存在与filelist中的任何条目都不匹配的文件名.
我相信这应该很简单,但我想我已经看了很长时间才能看到树林里的树林.
我在php中解析html,因为我无法控制原始内容,我想删除样式和不必要的标签,同时仍保留内容和标签的简短列表,即:
p,img,iframe(也许还有其他一些)
我知道我可以删除一个给定的标签(参见我在下面使用的代码),但由于我不一定知道它们可能是什么标签,而且我不想创建一个巨大的可能列表,我会喜欢除了我允许的列表之外能够删除所有内容.
function DOMRemove(DOMNode $from) {
$sibling = $from->firstChild;
do {
$next = $sibling->nextSibling;
$from->parentNode->insertBefore($sibling, $from);
} while ($sibling = $next);
$from->parentNode->removeChild($from);
}
$dom = new DOMDocument;
$dom->loadHTML($html);
$nodes = $dom->getElementsByTagName('span');
Run Code Online (Sandbox Code Playgroud) 我有一个开发服务器设置,它执行一些动态生根,允许我通过检测server_name中的域和子域并使用它来设置root来设置快速测试项目.
server_name ~^(?<subdomain>\w*?)?\.?(?<domain>\w+\.\w+)$;
Run Code Online (Sandbox Code Playgroud)
这很好用,允许我根据变量$ subdomain和$ domain设置根路径
但是对于特定类型的项目,如果子域包含破折号,我还需要能够进一步将子域变量拆分为两个变量.
例如
mysubdomain不应拆分但保留为变量$ subdomain,
但mysubdomain-tn将分为2个变量$ subdomain和$ version
由于.babelrc中的设置不正确,我在编译本机应用程序时遇到问题。我删除了有问题的设置,然后在ios模拟器react-native run-ios中再次运行了该设置,但仍然看到相同的错误:
Unknown option:/.../.babelrc.requireDirective
Run Code Online (Sandbox Code Playgroud)
即使我已经从.babelrc中完全删除了requiredDirective选项。
我尝试清除运行npm缓存,但仍然遇到相同的问题。
看来我的问题是它仍然挂在旧的.babelrc设置上。如果是这样,我该如何正确清除它?
我正在尝试将Google Analytics分析添加到位于子域下的项目中.子域名已被域名所有者指向我的项目,因此我无法访问域名本身.
当我添加跟踪代码时的状态(显示在属性>跟踪信息下)
状态:未安装跟踪
最后检查:2014年1月4日00:00:05太平洋标准时间
尚未在您网站的主页上检测到Google Analytics跟踪代码.要使Google Analytics运行,您或您的网络管理员必须将代码添加到您网站的每个页面.
有没有办法验证子域上是否安装了跟踪代码而无需访问域根?
虽然已卸载跟踪状态,但我正在使用标准报告>实时进行活动.
这是否意味着它尽管状态报告仍然有效?
我可能通过此设置获得正确的跟踪信息吗?
我想在我的 nginx 服务器(ubuntu 14.04)上托管多个域名,每个域名都有子域:
home/serve/
domain1.com
www
subdomain1
subdomain2
domain2.com
www
subdomain1
subdomain2
Run Code Online (Sandbox Code Playgroud)
我希望 www.domain1.com 和 domain1.com 都根到 /home/serve/domain1/www 和 subdomain1.domain1.com 根到 /home/serve/domain1/subdomain1。
我在有和没有 www 的域中都有这个工作。(见下文)但我不知道如何扩展它以启用子域生根。
server {
listen 80 default_server;
listen [::]:80 default_server ipv6only=on;
server_name ~^(www\.)?(?<domain>.+)$;
root /home/serve/$domain/www/;
location / {
index index.html index.htm index.php;
}
location ~ [^/]\.php(/|$) {
fastcgi_split_path_info ^(.+?\.php)(/.*)$;
fastcgi_param SCRIPT_FILENAME $document_root$fastcgi_script_name;
fastcgi_pass unix:/var/run/php5-fpm.sock;
fastcgi_index index.php;
include fastcgi_params;
}
}
Run Code Online (Sandbox Code Playgroud) php ×3
nginx ×2
python ×2
babel ×1
dictionary ×1
django ×1
django-admin ×1
django-forms ×1
dom ×1
domdocument ×1
html ×1
html-parsing ×1
html5 ×1
imagemagick ×1
linux ×1
list ×1
php-parser ×1
react-native ×1
regex ×1
ubuntu-10.04 ×1