小编mar*_*rkb的帖子

删除MySQL中的主键

我有以下表架构,它将user_customers映射到实时MySQL数据库的权限:

mysql> describe user_customer_permission;
+------------------+---------+------+-----+---------+----------------+
| Field            | Type    | Null | Key | Default | Extra          |
+------------------+---------+------+-----+---------+----------------+
| id               | int(11) | NO   | PRI | NULL    | auto_increment |
| user_customer_id | int(11) | NO   | PRI | NULL    |                |
| permission_id    | int(11) | NO   | PRI | NULL    |                |
+------------------+---------+------+-----+---------+----------------+
3 rows in set (0.00 sec)
Run Code Online (Sandbox Code Playgroud)

我想删除user_customer_id和permission_id的主键,并保留id的主键.

当我运行命令时:

alter table user_customer_permission drop primary key;
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

ERROR 1075 (42000): Incorrect table definition; there can …
Run Code Online (Sandbox Code Playgroud)

mysql sql database-design primary-key mysql-error-1075

171
推荐指数
7
解决办法
37万
查看次数

如何用新行替换所有XHTML/HTML换行符(<br>)?

我正在寻找最好的br2nl功能.我想更换的所有实例<br>,并<br />用换行\n.很像nl2br()函数,但相反.

我知道PHP手册评论中有几个解决方案,但我正在寻找SO社区对可能解决方案的反馈.

php regex newline

38
推荐指数
2
解决办法
3万
查看次数

匹配mod_rewrite规则正则表达式中的问号

我希望用多个子字符串重写网址.一个子字符串被请求作为子目录,而其他任何子字符串都被请求作为普通的查询字符串参数.

例如,我想重写网址

http://www.mysite.com/mark/friends?page=2
Run Code Online (Sandbox Code Playgroud)

http://www.mysite.com/friends.php?user=mark&page=2
Run Code Online (Sandbox Code Playgroud)

除了问号字符,我能够完成此操作.这是我的重写规则:

...
RewriteEngine On
RewriteBase /
RewriteRule ^([A-Za-z0-9-_]+)/friends[?]?([^/\.]+)?$ friends.php?user=$1&$2 [L]
Run Code Online (Sandbox Code Playgroud)

如果我将问号更改为任何其他字符,则效果很好.似乎问题是'?' 字符被错误地解释为新查询字符串的开头.

我需要传递/ user/friends之后出现的任何参数.我该如何做到这一点?

regex apache mod-rewrite

21
推荐指数
2
解决办法
2万
查看次数

如何在Symfony中上传后保留原始文件名

后端应用程序的用户可以上传文件并将其发布到前端.使用sfWidgetFormInputFile和sfValidatorFile,我想保留原始文件名而不是随机字符串的默认功能(即Meaningful_filename.docx而不是a4b25e9f48cfb6268f34b691fc18cd76fefe96b5.docx - 数字可以附加到重复的名称上).这在用户下载多个文件但无法区分文件名的情况下非常有用.

$this->widgetSchema['file_name'] = new sfWidgetFormInputFile(array('label' => 'File'));

$this->validatorSchema['file_name'] = new sfValidatorFile(array(
  'required'   => true,
  'path'       =>     sfConfig::get('sf_upload_dir').DIRECTORY_SEPARATOR.sfConfig::get('app_dir_file_sharing').DIRECTORY_SEPARATOR,
'mime_types' => array('application/msword',
                    'application/vnd.ms-word',
                    'application/msword',
                    'application/msword; charset=binary')
), array(
    'invalid'    => 'Invalid file.',
    'required'   => 'Select a file to upload.',
    'mime_types' => 'The file must be a supported type.'
));
Run Code Online (Sandbox Code Playgroud)

sfWidgetFormInputFile小部件中是否有本机功能,还是有其他解决方案?

php symfony1 file-upload symfony-1.4

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

上传的docx文件变成了zip

我目前正在使用symfony 1.4,并希望允许用户上传Microsoft Word docx文件.使用下面的sfWidgetFormInputFile小部件和sfValidatorFile,用户可以使用简单的Web表单选择并成功上传他们的docx文件.

$this->widgetSchema['file_name'] = new sfWidgetFormInputFile(array('label' => 'File'));

$this->validatorSchema['file_name'] = new sfValidatorFile(array(
  'required'   => true,
  'path'       => sfConfig::get('sf_upload_dir').DIRECTORY_SEPARATOR.sfConfig::get('app_dir_file_sharing').DIRECTORY_SEPARATOR,
  'mime_types' => array('application/msword',
                        'application/vnd.ms-word',
                        'application/msword',
                        'application/msword; charset=binary')
), array(
    'invalid'    => 'Invalid file.',
    'required'   => 'Select a file to upload.',
    'mime_types' => 'The file must be a supported type.'
));
Run Code Online (Sandbox Code Playgroud)

问题是文件上传后,扩展名更改为.zip,文件包含xml文件的文件树.我的理解是,这是因为Office 2007现在使用Open xml文件格式.有没有办法防止这种情况发生使用symfony或PHP?

php apache symfony1 symfony-1.4

4
推荐指数
2
解决办法
4613
查看次数