直接拿去用,亲测有效!
function getip() {

$unknown = 'unknown';
if(isset($_SERVER['HTTP_X_FORWARDED_FOR']) && $_SERVER['HTTP_X_FORWARDED_FOR'] && strcasecmp($_SERVER['HTTP_X_FORWARDED_FOR'], $unknown)){
    $ip = $_SERVER['HTTP_X_FORWARDED_FOR'];
}elseif(isset($_SERVER['REMOTE_ADDR']) && $_SERVER['REMOTE_ADDR'] && strcasecmp($_SERVER['REMOTE_ADDR'], $unknown)) {
    $ip = $_SERVER['REMOTE_ADDR'];
}
/**
 * 处理多层代理的情况
 * 或者使用正则方式:$ip = preg_match("/[\d\.]{7,15}/", $ip, $matches) ? $matches[0] : $unknown;
 */
if (false !== strpos($ip, ',')) $ip = reset(explode(',', $ip));
return $ip;

}

用oneinstack配置好环境后,域名也解析的没有问题,就是不能访问,一般只有两个问题:
1、新网和阿里云的有些区别,新网有ip白名单,要加上你解析的域名白名单才可以,如XXXX.com;
2、新网默认是只开22端口的(ssh),而80端口和3306端口(数据库远程链接)是不开启的,所以要开启80端口才生效,我的是centos,命令如下:

》iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 80 -j ACCEPT
》service iptables save

如果为Ubuntu/Debian系列:

》iptables -I INPUT 4 -p tcp -m state --state NEW -m tcp --dport 8080 -j ACCEPT
》iptables-save > /etc/iptables.up.rules

问题解决。
PS:我的是基于oneinstack配置的,其他的没测试,请注意。

function aaaa(file) {
        var prevDiv = document.getElementById('androimg');
        if (file.files && file.files[0])
        {
            var reader = new FileReader();
            reader.onload = function(evt){
                prevDiv.innerHTML = '<img src="' + evt.target.result + '" height="150"/>';
            }
            reader.readAsDataURL(file.files[0]);
        }
        else
        {
            prevDiv.innerHTML = '<div class="img" style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale,src=\'' + file.value + '\'"></div>';
        }
    }
如果上面的不行用下面的
onchange的时候把this给上!!!!!
function aaaa(file) {
        var prevDiv = document.getElementById('androimg');
        if (file.files && file.files[0])
        {
            var reader = new FileReader();
            reader.onload = function(evt){
                prevDiv.innerHTML = '<img src="' + evt.target.result + '" height="150"/>';
            }
            reader.readAsDataURL(file.files[0]);
        }
        else
        {
            prevDiv.innerHTML = '<div class="img" style="filter:progid:DXImageTransform.Microsoft.AlphaImageLoader(sizingMethod=scale,src=\'' + file.value + '\'"></div>';
        }
    }

xshell或者putty敲命令:

cat /etc/issue

在CentOS下执行显示为:
CentOS release 5.7 (Final)
Kernel \r on an \m

或在Ubuntu下显示为:
Ubuntu 11.04 \n \l

move_uploaded_file()出错 windows没问题,linux下(上线)不行

出错原因大概有以下三点:
1.如果检测到文件不是来自post上传,这个文件不会执行cp工作;

2.目的路径找不到;

3.目的路径权限不够;
if(move_uploaded_file($_FILES['video']['tmp_name'], $url))
{
   echo "文件上传成功";
}

else
{

        echo "文件移动失败";

}

结果返回 文件移动失败

测试把目的路径改为临时目录的路径,发现成功了,
于是,就是目的路径的权限问题 chmod -R 777 YOUR_DIR;
OK;解决!
之前考虑过权限问题,用ftp工具直接把目的路径修成了777,结果失败,原来用ftp工具修改是他娘的不行的,后来用putty(x-shell一样)修改的权限才起作用:
总结:就是权限不够!