php源码上传到服务器(源码上传服务器教程)
其实php源码上传到服务器的问题并不复杂,但是又很多的朋友都不太了解源码上传服务器教程,因此呢,今天小编就来为大家分享php源码上传到服务器的一些知识,希望可以帮助到大家,下面我们一起来看看这个问题的分析吧!
经典怎样通过php将本地的文件上传到服务器上
创建一个文件上传表单
允许用户从表单上传文件是非常有用的。
请看下面这个供上传文件的 HTML表单:
<html>
<body>
<form action="upload_file.php" method="post"
enctype="multipart/form-data">
<label for="file">Filename:</label>
<input type="file" name="file" id="file"/>
<br/>
<input type="submit" name="submit" value="Submit"/>
</form>
</body>
</html>
请留意如下有关此表单的信息:
<form>标签的 enctype属性规定了在提交表单时要使用哪种内容类型。在表单需要二进制数据时,比如文件内容,请使用"multipart/form-data"。
<input>标签的 type="file"属性规定了应该把输入作为文件来处理。举例来说,当在浏览器中预览时,会看到输入框旁边有一个浏览按钮。
注释:允许用户上传文件是一个巨大的安全风险。请仅仅允许可信的用户执行文件上传操作。
创建上传脚本
"upload_file.php"文件含有供上传文件的代码:
<?php
if($_FILES["file"]["error"]> 0)
{
echo"Error:".$_FILES["file"]["error"]."<br/>";
}
else
{
echo"Upload:".$_FILES["file"]["name"]."<br/>";
echo"Type:".$_FILES["file"]["type"]."<br/>";
echo"Size:".($_FILES["file"]["size"]/ 1024)." Kb<br/>";
echo"Stored in:".$_FILES["file"]["tmp_name"];
}
?>
通过使用 PHP的全局数组$_FILES,你可以从客户计算机向远程服务器上传文件。
第一个参数是表单的 input name,第二个下标可以是"name","type","size","tmp_name"或"error"。就像这样:
$_FILES["file"]["name"]-被上传文件的名称
$_FILES["file"]["type"]-被上传文件的类型
$_FILES["file"]["size"]-被上传文件的大小,以字节计
$_FILES["file"]["tmp_name"]-存储在服务器的文件的临时副本的名称
$_FILES["file"]["error"]-由文件上传导致的错误代码
这是一种非常简单文件上传方式。基于安全方面的考虑,您应当增加有关什么用户有权上传文件的限制。
上传限制
在这个脚本中,我们增加了对文件上传的限制。用户只能上传.gif或.jpeg文件,文件大小必须小于 20 kb:
<?php
if((($_FILES["file"]["type"]=="image/gif")
||($_FILES["file"]["type"]=="image/jpeg")
||($_FILES["file"]["type"]=="image/pjpeg"))
&&($_FILES["file"]["size"]< 20000))
{
if($_FILES["file"]["error"]> 0)
{
echo"Error:".$_FILES["file"]["error"]."<br/>";
}
else
{
echo"Upload:".$_FILES["file"]["name"]."<br/>";
echo"Type:".$_FILES["file"]["type"]."<br/>";
echo"Size:".($_FILES["file"]["size"]/ 1024)." Kb<br/>";
echo"Stored in:".$_FILES["file"]["tmp_name"];
}
}
else
{
echo"Invalid file";
}
?>
注释:对于 IE,识别 jpg文件的类型必须是 pjpeg,对于 FireFox,必须是 jpeg。
保存被上传的文件
上面的例子在服务器的 PHP临时文件夹创建了一个被上传文件的临时副本。
这个临时的复制文件会在脚本结束时消失。要保存被上传的文件,我们需要把它拷贝到另外的位置:
<?php
if((($_FILES["file"]["type"]=="image/gif")
||($_FILES["file"]["type"]=="image/jpeg")
||($_FILES["file"]["type"]=="image/pjpeg"))
&&($_FILES["file"]["size"]< 20000))
{
if($_FILES["file"]["error"]> 0)
{
echo"Return Code:".$_FILES["file"]["error"]."<br/>";
}
else
{
echo"Upload:".$_FILES["file"]["name"]."<br/>";
echo"Type:".$_FILES["file"]["type"]."<br/>";
echo"Size:".($_FILES["file"]["size"]/ 1024)." Kb<br/>";
echo"Temp file:".$_FILES["file"]["tmp_name"]."<br/>";
if(file_exists("upload/".$_FILES["file"]["name"]))
{
echo$_FILES["file"]["name"]." already exists.";
}
else
{
move_uploaded_file($_FILES["file"]["tmp_name"],
"upload/".$_FILES["file"]["name"]);
echo"Stored in:"."upload/".$_FILES["file"]["name"];
}
}
}
else
{
echo"Invalid file";
}
?>
上面的脚本检测了是否已存在此文件,如果不存在,则把文件拷贝到指定的文件夹。
怎样把下载的PHP建站系统上传到局域网上的WEB服务器上
1、局域网与互联网没有区别,是一样的操作,最多就是局域网只可以使用IP,不能使用域名。
2、安好就够了。
3、用FTP可以,直接用U盘拷贝过去也可以。把PHP文件拷贝到WEB服务器网站主目录下,数据库需要进行导入,或者拷贝到MYSQL\DATA文件夹下,打开你下载的压缩包,里面应该有说明。
phpcms 上传到服务器内容页跳转到本地
这种现象主要是由在本地开发时用的域名(如localhost)在上传后重新更换不彻底导致的。你可以从一下几个方面入手排查:
配置文件中的域名是否更改,主要是/caches/configs/system.php系统配置文件以及phpsso_server/caches/configs/system.php配置文件中的域名进行替换成新域名;
确保在数据库上传时,已经将数据库数据中的所有原域名进行替换成了新域名。因为很多地方包含域名信息,例如每篇文章的url信息中都包含域名,所以建议使用先导出sql文件,然后使用编辑器批量替换更能替换成新域名,再导入到新服务器的数据库中。
如果设置了生成静态,请重新更新生成所有页面;
更新全站缓存。
针对phpcms网站上线更换服务器迁移安装的详细实战讲解推荐iphpcms的教程进行参考。
END,本文到此结束,如果可以帮助到大家,还望关注本站哦!