将memory_limit由 8M 改孙和成 16M(或更大纤型),重启apache服务
2,在PHP 文件中 加入 ini_set(”memory_limit”,”100M”)
注意:为了系统的其它资源的正常使用 请您不要将 memory_limit设置太大,其中-1为不限
3,修改.htaccess 文档(前提是该目则竖盯录支持.htaccess)
在文档中新增一句:php_value memory_limit 16M(或更大)
因为系统重构实现均衡负载,网站程序与文件服务器不在一台机子上。于是,程序在上传文件的同时就要将文件上传到文件服务烂做纳器上。这里涉及到windows主机上传到linux主机,linux主机上传到linux主机。这两个之间呢,只是稍微的有点区别,因为windows的路径可以兼容linux路径,但是linux的路径不兼容windows主机'\\'的写法。所以,在写路径的时候稍加注意即可。
下面,就饥没列举上面两种情况php中使用ftp函数上传文件的具体实现代码。
一、 ftp上传图片参数说明。
$source:本机图片完整的路径。(/a/b/c.jpg)
$des :上传目标linux主机完整的路径。
$ftp_server:ftp地址
$ftp_user_name:ftp用户名
$ftp_user_pass: ftp密码
$port:端口
二、如何使用php中ftp函数上传文件的方法
例如:
本地地址为:/a/b/c.jpg
目标地址为:/d/a/b/c.jpg
2.1、linux主机上传linux主机。
function ftpSendFile($source,$des,$ftp_server,$ftp_user_name,$ftp_user_pass,$port)
{
// 此步骤是在于上传目录与本机的目录不一致转换使用
$des = "/d" . $des
$conn_id = ftp_connect($ftp_server, $port) or die("Couldn't connect to $ftp_server")
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass)
ftp_pasv($conn_id, TRUE)
$ftp_folder = dirname($des)
$dir = explode("/", $ftp_folder)
$path = ""
for ($i = 0$i <count($dir)$i++) {
$path .= "/" . $dir[$i]
if (!ftp_chdir($conn_id, $path)) {
$result = ftp_mkdir($conn_id, $path)
}
}
if (ftp_put($conn_id, $des, $source, FTP_BINARY)) {
return 1
} else {
return 0
}
ftp_close($conn_id)
}
2、windows主机上传linux主机。
function sendPic($source,$des,$ftp_server,$ftp_user_name,$ftp_user_pass,$port)
{
$des = "/d" . $des
$conn_id = ftp_connect($ftp_server, $port) or die("Couldn't connect to $ftp_server")
$login_result = ftp_login($conn_id, $ftp_user_name, $ftp_user_pass)
ftp_pasv($conn_id, TRUE)
$ftp_folder = dirname(str_ireplace('\\', '/', $des))
$dir = explode("/", $ftp_folder)
$path = ""
for ($i = 0$i <count($dir)$i++) {
$path .= "/" . $dir[$i]
if (!ftp_chdir($conn_id, $path)) {
$result = ftp_mkdir($conn_id, $path)
}
}
if (ftp_put($conn_id, str_ireplace('\\', '/', $des), $source, FTP_BINARY)) {
return 1
} else {
return 0
}
ftp_close($conn_id)
}
上面的两种使用php中ftp函数上传文件的方法基本可以满足胡悄正常的使用。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)