比如网站php程序在A服务器,想把用户或管理员上传的图片存储在B服务器,应该用什么方法?
两台服务器在同一个局域网,那就用A机器的PHP程序将用户上传的文件,通过局域网路径保存到B服务器的共享路径。
如果不在同一个局域网,或者在同一个局域网但不想设置可写的共享目录,那就需要在B机器设置程序接收A机器通过HTTP POST 或 web service传来的文件。
如果你能上传成功得话下面得
uploadphp
<
include_once ('admin_globalphp');
if(isset($_POST['upload'])){
$name=$_FILES["userfile"]["name"];
$updir="/common/images/";
//$uploadfile=$uploaddir$_FILES['userfile']['name']; //新文件
$type=$_FILES["userfile"]["type"];
$size=$_FILES["userfile"]["size"];
if($name==""){echo"<script>alert('请先选择要上传的文件!');windowhistoryback();</script>";}
$tmp_name=$_FILES["userfile"]["tmp_name"];
if($type!="image peg" && $type!="image/jpeg" && $type!="image/gif"){echo"<script>alert('上传文件只可以是JPEG或GIF类型的!');windowhistoryback();</script>";exit;}
if(file_exists($updir$name)){echo"<script>alert('服务器上已有同名文件!');windowhistoryback();</script>";exit;}
if(move_uploaded_file($tmp_name,$updir$name)){echo"<script>alert('上传完成!');</script>";}
echo"<script>windowlocationhref('admin_tu_addphpn=$name');</script>";
//echo"$name";
}
>
admin_tu_addphp
<img src="/common/images/< echo $_GET['n']; >">
如果上传不了得话就是你写得上传程序可能有问题
代码示例
uploadhtm
<form enctype="multipart/form-data" action="uploadphp" method="post">
<input type="hidden" name="max_file_size" value="100000">
文件名:<input name="filename"><br>
文件:<input name="userfile" type="file"><br>
<input type="submit" value="上传文件">
</form>
uploadphp
<
copy($userfile,$_POST['filename']);
echo $userfile"-用户上传到服务器上的文件临时存放的名称<br>";
echo $userfile_name"-在用户机器上该文件的原始名称<br>";
echo $userfile_size"-上传文件的实际字节数<br>";
echo $userfile_type"-如果用户的浏览器提供了这个信息的话,它表示mime的类型。例如image/gif<br>";
>
<a href="uploadhtm">继续上传</a>
很简单,关键的只有一句copy就搞定了,存入数据库嘛,也很简单。
你都不说是啥子数据库。唉!其实光要代码在我以前的论坛中都是不允许的。
0条评论