小编And*_*ird的帖子

屏幕分析您在生活中见过的最丑陋的HTML

我正在使用PHP和libtidy来尝试筛选可能是历史上最糟糕和最不正确的HTML表格使用情况.该站点关闭了几个table,tr,td,font或bold标签,并且一致地嵌套了表中的许多不同的表层.

示例代码段:

<center>
<table border="1" bordercolor="#000000" cellspacing="0" cellpadding="0">
<tr>
<td width="50%">
<center>
Home Team - <b>Wildcats<td>
<center>
Away Team - <b>Polar Bears<tr>
<td colspan="2">
<center>
<b><font size="+1">Rosters<tr>
<td valign="top">
<center>
<table border="0" cellspacing="0">
<tr>
<td>
<font size="2">1&nbsp;<td>
<font size="2">Baird, T<tr>
<td>
<font size="2">2&nbsp;<td>
<font size="2">Knight, P<tr>
<td>
<font size="2">8&nbsp;<td>
<font size="2">Miller, B<tr>
<td>
<font size="2">9&nbsp;<td>
<font size="2">Huebsch, B<tr>
<td>
<font size="2">11&nbsp;<td>
<font size="2">Buschmann, C<tr>
<td>
<font size="2">12&nbsp;<td>
<font size="2">Reding, J<tr>
<td>
<font size="2">14&nbsp;<td>
<font size="2">Simpson, S<tr>
<td>
<font size="2">27&nbsp;<td>
<font …
Run Code Online (Sandbox Code Playgroud)

php screen-scraping tidy htmltidy

5
推荐指数
1
解决办法
1094
查看次数

用于处理用户图像上传的推荐架构

过去,我以两种不同的方式处理用户图片上传:

  • 将图像数据保存在数据库表中,并通过PHP脚本加载它
  • 上传图像,将其转换为jpeg,将其放入目录并通过HTML标记加载

第一个选项工作得相当好,但我必须对上传的图像保持相当大的限制.第二种选择是有效的,除了PHP的图像库通常会破坏文件转换(我认为可以通过使用ImageMagick来修复).

我现在面临着第三次这样做,在一个潜在的更大规模的用户.我已经计划在上传后使用ImageMagick对图像进行一些后期处理.我希望尽可能减少对图片上传的限制,甚至可能保留每个人上传的照片.

有时会有数百个用户的照片上传将作为缩略图一次显示在屏幕上.将这些存储在数据库中并为每个数据库提取它们并通过PHP显示似乎不是一个好方法,但是将所有图像放入单个目录中也不是.

在这种情况下你的建议是什么?您是否使用上述选项之一,或者您有不同的解决方案?

php upload web-applications photo

5
推荐指数
1
解决办法
2644
查看次数

验证限制不会触发注册表单

我有一个Doctrine用户实体,我试图为注册表单添加表单验证器,但他们不会在任何条件下触发注册表单.

我的用户实体:

namespace JMSHockey\AppBundle\Entity;

use Doctrine\ORM\Mapping as ORM;
use Symfony\Component\Security\Core\User\AdvancedUserInterface;
use Symfony\Component\Validator\Constraints as Assert;
use Symfony\Bridge\Doctrine\Validator\Constraints\UniqueEntity;
/**
 * My\AppBundle\Entity\User
 *
 * @ORM\Table(name="user")
 * @ORM\Entity(repositoryClass="My\AppBundle\Entity\UserRepository")
 * @UniqueEntity(fields={"email"}, message="Sorry, this email address is already in use.", groups={"registration"})
 * @UniqueEntity(fields={"username"}, message="Sorry, this username is already taken.", groups={"registration"})
 */
class User implements AdvancedUserInterface,\Serializable
{
    /**
     * @var integer $id
     *
     * @ORM\Column(name="id", type="integer", nullable=false)
     * @ORM\Id
     * @ORM\GeneratedValue(strategy="IDENTITY")
     */
    private $id;

    /**
     * @var string $email
     *
     * @ORM\Column(name="email", type="string", length=75, nullable=false)
     * @Assert\Email() …
Run Code Online (Sandbox Code Playgroud)

php symfony-forms symfony doctrine-orm symfony-2.1

5
推荐指数
1
解决办法
830
查看次数

在焦点上打开jQuery UI ComboBox

我有一个jQuery ComboBox输入,当聚焦时我想自动打开自动完成菜单.

但是,只需清除输入并将其聚焦如下:

$('#select-id').val('').focus();
Run Code Online (Sandbox Code Playgroud)

......不起作用.如果您手动对焦自动完成输入然后清除它,它会显示自动完成菜单.

有没有办法可以触发自动完成菜单打开焦点?我也希望它显示完整的菜单,所以我也想清除输入文本.

jquery jquery-ui

4
推荐指数
1
解决办法
4875
查看次数

PHP session_start() 导致 HTTP 请求挂起

我有一个从头开始用 PHP 编写的应用程序。我正在使用 PHP 的本机会话处理程序函数来处理用户身份验证和持久性。

在开发服务器上进行测试时,一切都很顺利。身份验证、持久性等工作正常。

当安装在生产服务器上时,一切正常,直到用户身份验证——当应用程序实际将数据写入会话对象时,突然之后的 HTTP 请求完全在 session_start() 执行时完全挂起。

我怀疑临时会话文件被 PHP 锁定并且从未被释放,所以我尝试跟踪应用程序使用 写入会话对象的位置session_write_close(),但这似乎没有任何影响。

这听起来像是文件锁定问题还是其他问题?我很困惑为什么 session_write_close 似乎没有处理文件锁定问题,如果是这样的话,这就是为什么我想知道这里是否还有其他东西在起作用。

任何可能的想法或想法?

回复 Pekka 的好建议:

  • 生产服务器是linux环境。phpinfo 报告Linux wynn 2.6.18-164.9.1.el5PAE #1 SMP
  • 该页面未调用自身
  • 我可以读/写会话文件夹和文件。我可以看到通过身份验证尝试序列化到文件中的身份验证数据。

php session

3
推荐指数
1
解决办法
2933
查看次数

VARCHAR(4)存储的字符数多于四个

我有一个VARCHAR(4)列,它接收来自输入的数据,该输入可能超过4个字符.不过,这是可以的,我让MySQL自然地(或者我认为)切断了角色的结尾.

奇怪的是,当我稍后在PHP(使用PDO驱动程序)中查看数据库行结果时,整个字符串都在显示,而不仅仅是4个字符.

奇怪的是,如果我在MySQL CLI上执行SELECT查询,它只返回4个字符.即使我做了一个mysqldump,也只显示了4个字符.

知道什么可能导致这种奇怪的不一致吗?

请注意,这些字符都是数字.

编辑:根据请求,这里有一些代表save/fetch方法的伪代码:

储存:

$data = array(
     'name_first4'       => $fields['num'],   
     // name_first4 is the column name with VARCHAR(4)
);
$where = $this->getTable()->getAdapter()->quoteInto('id = ?', $id);
$this->getTable()->update($data,$where);
Run Code Online (Sandbox Code Playgroud)

使用Zend_Db_Table获取:

$row = $this->getTable()->fetchRow(
    $this->getTable()->select()->where('id=?',$data)
);
Run Code Online (Sandbox Code Playgroud)

php mysql zend-db-table

3
推荐指数
1
解决办法
1419
查看次数

如何在Django模型中编写方法来检索相关对象?

我有两个型号.我们将它们称为对象A和对象B.它们的设计看起来像这样:

class Foo(models.Model):
     name = models.CharField()

class Bar(models.Model):
     title = models.CharField()
     Foo= models.ForeignKey('myapp.Foo')
Run Code Online (Sandbox Code Playgroud)

现在,假设我想在Foo中创建一个方法,它返回引用该Foo实例的所有Bar对象.我该怎么做呢?

class Foo(models.Model):
     name = models.CharField()
     def returnBars(self):
         ????
Run Code Online (Sandbox Code Playgroud)

python django model-view-controller frameworks

2
推荐指数
1
解决办法
306
查看次数

如何在Zend Framework中存储cron作业的脚本?

因为ZF依赖于所有URL的mod重写,所以我不应该立即在哪里存储本地脚本以用于cron作业.

有没有人有任何建议,还是有"正式接受"的方式?

php cron zend-framework

2
推荐指数
1
解决办法
6581
查看次数

在React中取消子组件中父组件的onClick事件

我有一个看起来像这样的组件:

<ParentComponent onClick={this.doSomething}>
  <ChildComponent onClick={this.doSomethingElse} />
</Parent>
Run Code Online (Sandbox Code Playgroud)

如果我点击ChildComponent,doSomethingElse和doSomething都会触发.当子onClick事件触发时,如何取消onClick事件传播的父组件?

javascript reactjs

2
推荐指数
1
解决办法
2146
查看次数

我可以使用Zend_Db_Select重写这个吗?

我需要编写以下查询:

SELECT forum_threads.id AS id_thread,
forum_threads.topic,
forum_threads.date_created,
forum_posts.content,
CONCAT(users.first, ' ', users.last) AS author_name 
  FROM forum_threads,forum_posts,users
     WHERE forum_threads.category_id=1
        AND forum_threads.author_id=users.id
        AND forum_posts.id=
            (SELECT id FROM forum_posts WHERE thread_id=`id_thread` ORDER BY date_posted ASC LIMIT 0,1)
Run Code Online (Sandbox Code Playgroud)

我不是要求任何人为我做这项工作.我只是在引用中找不到可以执行此类查询的任何内容.指出我正确的方向,这应该是我需要的一切.

我可以达到我需要子查询的地步,然后我不知道如何进步.有任何想法吗?

仅供参考:我想使用Zend_Db_Select对象,因为我将它发送到Zend_Paginator

澄清查询正在做什么:使用第一篇文章的内容拉长给定论坛类别的所有主题.

php mysql zend-framework

1
推荐指数
1
解决办法
186
查看次数