我有以下表架构,它将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) 我正在寻找最好的br2nl
功能.我想更换的所有实例
,并<br>
用换行<br />
\n
.很像nl2br()函数,但相反.
我知道PHP手册评论中有几个解决方案,但我正在寻找SO社区对可能解决方案的反馈.
我希望用多个子字符串重写网址.一个子字符串被请求作为子目录,而其他任何子字符串都被请求作为普通的查询字符串参数.
例如,我想重写网址
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之后出现的任何参数.我该如何做到这一点?
后端应用程序的用户可以上传文件并将其发布到前端.使用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小部件中是否有本机功能,还是有其他解决方案?
我目前正在使用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 ×3
apache ×2
regex ×2
symfony-1.4 ×2
symfony1 ×2
file-upload ×1
mod-rewrite ×1
mysql ×1
newline ×1
primary-key ×1
sql ×1