好得很程序员自学网
  • 首页
  • 后端语言
    • C#
    • PHP
    • Python
    • java
    • Golang
    • ASP.NET
  • 前端开发
    • Angular
    • react框架
    • LayUi开发
    • javascript
    • HTML与HTML5
    • CSS与CSS3
    • jQuery
    • Bootstrap
    • NodeJS
    • Vue与小程序技术
    • Photoshop
  • 数据库技术
    • MSSQL
    • MYSQL
    • Redis
    • MongoDB
    • Oracle
    • PostgreSQL
    • Sqlite
    • 数据库基础
    • 数据库排错
  • CMS系统
    • HDHCMS
    • WordPress
    • Dedecms
    • PhpCms
    • 帝国CMS
    • ThinkPHP
    • Discuz
    • ZBlog
    • ECSHOP
  • 高手进阶
    • Android技术
    • 正则表达式
    • 数据结构与算法
  • 系统运维
    • Windows
    • apache
    • 服务器排错
    • 网站安全
    • nginx
    • linux系统
    • MacOS
  • 学习教程
    • 前端脚本教程
    • HTML与CSS 教程
    • 脚本语言教程
    • 数据库教程
    • 应用系统教程
  • 新技术
  • 编程导航
    • 区块链
    • IT资讯
    • 设计灵感
    • 建站资源
    • 开发团队
    • 程序社区
    • 图标图库
    • 图形动效
    • IDE环境
    • 在线工具
    • 调试测试
    • Node开发
    • 游戏框架
    • CSS库
    • Jquery插件
    • Js插件
    • Web框架
    • 移动端框架
    • 模块管理
    • 开发社区
    • 在线课堂
    • 框架类库
    • 项目托管
    • 云服务

当前位置:首页>后端语言>PHP
<tfoot draggable='sEl'></tfoot>

php上传跨域 php cors跨域

很多站长朋友们都不太清楚php上传跨域,今天小编就来给大家整理php上传跨域,希望对各位有所帮助,具体内容如下:

本文目录一览: 1、 php怎么通服务器跨域上传图片 2、 PHP跨域上传的几种方法 3、 PHP如何实现跨域 php怎么通服务器跨域上传图片

5.2下 把你的存放路径打出来看看就知道了,看路径是否正确,这种情况下很容易出错

PHP跨域上传的几种方法

方法一:

文件夹:/home/web/attachments

虚拟二级目录到/home/web/zxsv/下(支持同局域网的服务器)

这样多个子域名进行上传的设计时,只需要attachments目录映射为相关的域名的二级目录,这样就可实现多个子域名共享一个附件服务器了,这种方法最好是用局域网中的附件服务器,这样流量是分开的,当然访问附件的域名是apache,ngixn,IIS等的虚拟二级目录就不说了,好处是现有程序不做任何修改,唯一坏处就是两台服务器必须在一个局域网中,当然你用单台也就没这个问题了

方法二:FTP同步更新

PHP是支持FTP的,给个FTP类里面(不是我写的,只是加了个建立多级目录),自己看着办吧,上传后调用FTP类,同步到FTP服务器中,好处是现有程序只需要在上传那段加上FTP上传就行了,坏处就是一定要支持FTP

<?php

$ftp=new Ftp;

//print_r($ftp->nlist(”"));

$ftp->makedir(”3″);

//$ftp->put(”comment.php”,”1.txt”);

$ftp->bye();

//R FTP 处理;

class ftp {

var $ftpUrl = ‘’;

var $ftpUser = ‘zxsv’;

var $ftpPass = ‘111111′;

var $ftpDir = ‘/zxsv/’;

var $ftpR = ”; //R ftp资源;

var $status = ”;

//R 1:成功;2:无法连接ftp;3:用户错误;

function ftp() {

if ($this->ftpR = ftp_connect($this->ftpUrl, 21)) {

if (ftp_login($this->ftpR, $this->ftpUser, $this->ftpPass)) {

if (!empty($this->ftpDir)) {

ftp_chdir($this->ftpR, $this->ftpDir);

}

ftp_pasv($this->ftpR, true);//R 启用被动模式;

$status = 1;

} else {

$status = 3;

}

} else {

$status = 2;

}

}

//R 切换目录;

function cd($dir) {

return ftp_chdir($this->ftpR, $dir);

}

//建立目录

function mkdir($dir){

return ftp_mkdir($this->ftpR, $dir);

}

function makedir($dir) {

if(!$dir) return 0;

$dir = str_replace( “\\”, “/”, $dir );

$mdir = “”;

foreach(explode( “/”, $dir ) as $val ) {

$mdir .= $val.”/”;

if( $val == “..” || $val == “.” ) continue;

if(!@mkdir($mdir)){

echo “创建目录 [".$mdir."]失败.”;

//exit;

}

}

return true;

}

//删除目录

function rmdir($dir){

return ftp_rmdir($this->ftpR, $dir);

}

//R 返回当前路劲;

function pwd() {

return ftp_pwd($this->ftpR);

}

//R 上传文件;

function put($localFile, $remoteFile = ”) {

if ($remoteFile == ”) {

$remoteFile = end(explode(’/', $localFile));

}

$res = ftp_nb_put($this->ftpR, $remoteFile, $localFile, FTP_BINARY);

print_r($res);

while ($res == FTP_MOREDATA) {

$res = ftp_nb_continue($this->ftpR);

}

if ($res == FTP_FINISHED) {

return true;

} elseif ($res == FTP_FAILED) {

return false;

}

}

//R 下载文件;

function get($remoteFile, $localFile = ”) {

if ($localFile == ”) {

$localFile = end(explode(’/', $remoteFile));

}

if (ftp_get($this->ftpR, $localFile, $remoteFile, FTP_BINARY)) {

$flag = true;

} else {

$flag = false;

}

return $flag;

}

//R 文件大小;

function size($file) {

return ftp_size($this->ftpR, $file);

}

//R 文件是否存在;

function isFile($file) {

if ($this->size($file) >= 0) {

return true;

} else {

return false;

}

}

//R 文件时间

function fileTime($file) {

return ftp_mdtm($this->ftpR, $file);

}

//R 删除文件;

function unlink($file) {

return ftp_delete($this->ftpR, $file);

}

function nlist($dir = ‘/service/resource/’) {

return ftp_nlist($this->ftpR, $dir);

}

//R 关闭连接;

function bye() {

return ftp_close($this->ftpR);

}

}

?>

PHP如何实现跨域

因工作需要,客户端软件的一些界面用HTML+CSS+Javascript实现,这些文件放在客户端本地,以本地文件形式加载,但是有些情况下,需要连接服务器取得一些信息,如果不做任何处理,则请求失败,返回的信息如下:

No

'Access-Control-Allow-Origin'

header

is

present

on

the

requested

resource.

Origin

'null'

is

therefore

not

allowed

access.

这是因为浏览器跨域策略起作用,阻止了跨域的请求。看看HTTP请求过程就知道。第一次请求后端时候,浏览器意识到是访问一个跨与资源,没有直接发送GET请求获取数据,而是发送了一个OPTIONS请求询问是否可以访问该资源。我们称之为Preflight请求,默认因为同源策略的存在,该请求返回的Header中没有'Access-Control-Allow-Origin'属性,所以访问失败。

如果要实现跨域,关键在于服务器,客户端的代码按照正常的方式编写即可。对于服务器,只需要在收到OPTIONS请求的地方,返回的头信息中增加该属性即可,代码如下:

header("Access-Control-Allow-Origin:

*");

注意,一定要在所有信息输出到客户端之前设置。

以上所述是小编给大家介绍的PHP如何实现跨域的相关内容,希望对大家有所帮助!

关于php上传跨域的介绍到此就结束了,不知道本篇文章是否对您有帮助呢?如果你还想了解更多此类信息,记得收藏关注本站,我们会不定期更新哦。

查看更多关于php上传跨域 php cors跨域的详细内容...

声明:本文来自网络,不代表【好得很程序员自学网】立场,转载请注明出处:http://www.haodehen.cn/did242554
更新时间:2023-05-28   阅读:27次

上一篇: 极光推送php服务器端 极光推送java服务端

下一篇:php获取凌晨时间 php获取当前时间

相关资讯

最新资料更新

  • 1.php怎么开发xml php处理xml数据
  • 2.php读取数据库字段值 php读取sql
  • 3.php前端页面源码 php前端页面源码是多少
  • 4.php爬淘宝图片 php爬取图片
  • 5.phpwhere循环 php中的循环
  • 6.phpsmtp配置项 php 配置
  • 7.php用户资料转移 php迁移java
  • 8.php获取服务器环境 php获取服务器状态
  • 9.包含php-vcmd的词条
  • 10.基于php在线聊天 php 在线聊天
  • 11.phpstorm写前端 phpstorm写html
  • 12.phpsql添加记录 php数据表里怎么添加数据
  • 13.php加密12进 php加密解密
  • 14.phphint插件下载 php 插件系统
  • 15.php英国时区代码 英国时区缩写
  • 16.php图片上传及显示 php 图片上传
  • 17.登录htmlphp 登录html
  • 18.扫描登录php代码 扫描登录php代码错误
  • 19.基于PHP日记网站 phpstudy网站日志
  • 20.php网络通信 php通信协议

CopyRight:2016-2025好得很程序员自学网 备案ICP:湘ICP备09009000号-16 http://www.haodehen.cn
本站资讯不构成任何建议,仅限于个人分享,参考须谨慎!
本网站对有关资料所引致的错误、不确或遗漏,概不负任何法律责任。
本网站刊载的所有内容(包括但不仅限文字、图片、LOGO、音频、视频、软件、程序等)版权归原作者所有。任何单位或个人认为本网站中的内容可能涉嫌侵犯其知识产权或存在不实内容时,请及时通知本站,予以删除。

网站内容来源于网络分享,如有侵权发邮箱到:kenbest@126.com,收到邮件我们会即时下线处理。
网站框架支持:HDHCMS   51LA统计 百度统计
Copyright © 2018-2025 「好得很程序员自学网」
[ SiteMap ]