起初我想问"Windows操作系统允许的最大子文件夹是什么"
但后来我想也许我的网络托管服务提供商不是在Windows上,而是在Linux或其他东西上.所以我想问一下,网络托管服务提供商通常会使用的所有主要操作系统的最大允许子文件夹是什么.(说Linux,Mac或Windows会安全吗?)
然后,根据您的经验,网站托管网站是否限制了我们可以制作的子文件夹数量?
(为什么会这样?因为我希望每个用户都有自己的文件夹,以便轻松访问他们的图像.这样可以吗?或者这是不好的做法?编程还是新手.)
经过数周的调整后,我终于放弃了.我无法在safari上修复我的多文件上传,这真的让我感到困扰,因为我的代码在其他浏览器上运行得非常完美,除了在safari上.然后我刚刚发现它不是我的代码有问题.它是一个Safari bug.Safari 5.1.+无法读取html5多重属性(或类似的东西).因此用户无法使用多重上传功能,但可以正确上传单个文件.
几个讨论这个问题的链接:
https://github.com/moxiecode/plupload/issues/363
似乎这个bug已经存在很长一段时间了.所以我想知道是否有一些可用的解决方法,你们当中有些人可能知道这一点?因为我找不到任何东西.我发现唯一可用的选项是不为Safari 5.1.+用户使用多个属性.你们有更好的想法吗?
UPDATE
Safari 5.1.7是Apple为Windows操作系统制作的最新版本.他们没有继续构建适用于Windows的Safari的当前版本.为我找到这个bug的修复程序是没有必要的,因为Real Safari用户已经更新到最新版本的浏览器(没有事实),只是为那些仍在使用这个过时版本的用户单独上传,而不是牺牲现代版本您的应用程序的功能.
好吧,标题基本上是这样说的.
但欲了解更多信息..
这种方法有效..
$ip = '1.1.1.1';
curl_setopt($handle, CURLOPT_HTTPHEADER, array("REMOTE_ADDR: $ip", "X_FORWARDED_FOR: $ip"));
Run Code Online (Sandbox Code Playgroud)
它只keys
在$_SERVER
阵列上添加这两个
HTTP_REMOTE_ADDR
HTTP_X_FORWARDED_FOR
关键REMOTE_ADDR
仍然是一样的.
可以REMOTE_ADDR
改吗?答案在这里说NO.但是评论还说,它可能不是用户的真实IP地址,因为它可能被代理和其他方法隐藏.这就是为什么一般规则不依赖于$_SERVER['REMOTE_ADDR']
安全功能的原因.
除此之外还有一个curl php方法来隐藏/掩盖/更改ip?(除了上面的代码之外的任何其他php方法都可以.)
和
有没有办法对抗方法或有没有办法获得用户的ACTUAL REAL IP?
干杯!
这是我到目前为止:
function checkTitle(){
reg = /^[\w ]+$/;
a = reg.test($("#title").val());
console.log(a);
}
Run Code Online (Sandbox Code Playgroud)
到目前为止,在我的测试中它捕获所有特殊字符,除了_
.如何捕获_
当前函数中的所有特殊字符?
我需要字符串只有字母数字字符和空格.欣赏帮助因为我很难理解正则表达式模式.
谢谢!
这是javascript:
function eAC(emailData) {
if (window.XMLHttpRequest) {
httpRequest = new XMLHttpRequest();
}
if (!httpRequest) {
return false;
}
console.log(emailData);
var fd = new FormData();
fd.append("email", emailData);
httpRequest.onreadystatechange = eAC_callback;
httpRequest.open('POST', "http://website.com/file.php");
httpRequest.setRequestHeader('Content-Type', 'application/x-www-form-urlencoded');
httpRequest.send(fd);
}
function eAC_callback() {
if (httpRequest.readyState === 4) {
if (httpRequest.status === 200) {
var response = JSON.parse(httpRequest.responseText);
console.log(response);
} else {
return false;
}
}
};
Run Code Online (Sandbox Code Playgroud)
这是PHP:
$pec_result = array();
if(isset($_POST['email']) && strlen($_POST['email']) > 0){
$pec_result['error'] = 'Its good';
echo json_encode($pec_result);
die();
} else { …
Run Code Online (Sandbox Code Playgroud) 到目前为止,IE 10和11并没有让我失望..
类base
和triangle
具有在IE 9之间约1px的间隙- 11其他4个浏览器没有显示在间隙.
.base {
display: inline-block;
position: absolute;
bottom: 5px;
right: -8px;
background-color: #ffcc00;
color: #5A5A5A;
font-size: 12px;
font-weight: bold;
padding: 2px 5px;
text-decoration: none;
margin:0;
}
.triangle {
width: 0px;
height: 0px;
border-style: solid;
border-width: 10px 0 0 11px;
border-color: transparent transparent transparent #DBB004;
display: inline-block;
position: absolute;
bottom: 24px;
right: -8px;
margin:0;
z-index: -1;
}
Run Code Online (Sandbox Code Playgroud)
这是一个FIDDLE
指定 mysqli bind_param 类型的优点和缺点是什么i,d,s,b
?
我将 UNIX 时间戳存储在数据类型为 INT 的数据库列中。在我准备好的语句中,我将其设置为bind_param('s',$timestamp);
并且它存储该值没有任何问题。s
那么我使用而不是在i
期间产生了什么影响bind_param
?
正确使用mysqli autocommit时遇到问题.以下是查询.
表1和表3是InnoDB,而表2是MyISAM
正确插入表2和表3的值,但未存储表1的值.运行代码时不会发生错误.
$dbconnect->autocommit(false);
$stmt = $dbconnect->prepare("INSERT INTO `table1`(`col1`,`col2`) VALUES (?,?)");
$stmt->bind_param('ss',$val1,$val2);
$stmt->execute();
$dbconnect->rollback();
$stmt = $dbconnect->prepare("INSERT INTO `table2`(`col1`,`col2`) VALUES (?,?)");
$stmt->bind_param('ss',$val3,$val4);
$stmt->execute();
$dbconnect->rollback();
$stmt = $dbconnect->prepare("INSERT INTO `table3`(`col1`,`col2`) VALUES (?,?)");
$stmt->bind_param('ss',$val5,$val6);
$stmt->execute();
$dbconnect->commit();
Run Code Online (Sandbox Code Playgroud)
何时以及如何使用autocommit(false)和rollback()?
我正在尝试运行的应用程序nodejs
,express
和socket.io
服务器端:
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
io.on('connection', function(socket){
socket.on('send_stuff', function(stuff){
io.emit('log_stuff',newStuff);
});
});
http.listen(54123, function(){
console.log('listening on *:54123');
});
Run Code Online (Sandbox Code Playgroud)
客户端:
var socket = io.connect('http://example.com:12345');
socket.emit('send_stuff',stuff);
Run Code Online (Sandbox Code Playgroud)
我的问题是如何获取执行的客户端(ip,用户代理等)的详细信息socket.emit('send_stuff',stuff)
?
我想将它传递给newStuff
变量.
socket.on('send_stuff', function(stuff){});
在此行中stuff
仅返回客户端发送的值emit()
.
任何想法如何做到这一点?
如何在Electron App上实现Notification API?
我试过检查Notification.permission
然后返回granted
但是当我尝试运行时:
new Notification("FOO", {body:"FOOOOOOOOOOOOOOOOOOOOOOOOO"});
什么都没发生.它甚至支持吗?