如何使用 PHP 中的curl 上传文件

2023-12-10

如何在 PHP 中使用 cURL 或其他方式上传文件?

换句话说,用户在表单上看到文件上传按钮,表单被发布到我的 PHO 脚本,然后我的 PHP 脚本需要将其重新发布到另一个脚本(例如在另一台服务器上)。

我有这个代码来接收文件并上传它:

echo"".$_FILES['userfile']."";
$uploaddir = './';
$uploadfile = $uploaddir . basename($_FILES['userfile']['name']);
if ( isset($_FILES["userfile"]) ) {
    echo '<p><font color="#00FF00" size="7">Uploaded</font></p>';
    if (move_uploaded_file
($_FILES["userfile"]["tmp_name"], $uploadfile))
echo $uploadfile;
    else echo '<p><font color="#FF0000" size="7">Failed</font></p>';
}

如何将文件发送到接收服务器?


Use:

if (function_exists('curl_file_create')) { // php 5.5+
  $cFile = curl_file_create($file_name_with_full_path);
} else { // 
  $cFile = '@' . realpath($file_name_with_full_path);
}
$post = array('extra_info' => '123456','file_contents'=> $cFile);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL,$target_url);
curl_setopt($ch, CURLOPT_POST,1);
curl_setopt($ch, CURLOPT_POSTFIELDS, $post);
$result=curl_exec ($ch);
curl_close ($ch);

您还可以参考:

http://blog.derakkilgo.com/2009/06/07/send-a-file-via-post-with-curl-and-php/

PHP 5.5+ 的重要提示:

现在我们应该使用https://wiki.php.net/rfc/curl-file-upload但如果您仍然想使用这种已弃用的方法,那么您需要设置curl_setopt($ch, CURLOPT_SAFE_UPLOAD, false);

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

如何使用 PHP 中的curl 上传文件 的相关文章

  • Laravel Redis 配置

    我目前正在使用 Laravel 和 Redis 创建一个应用程序 几乎一切都工作正常 我按照文档中的说明扩展了身份验证 用户可以订阅 登录 注销 我可以创建内容 所有内容都存储在 Redis 中 但我有一个问题 我无法运行 php arti
  • MySQL LAST_INSERT_ID() 和 FOUND_ROWS()

    当 PHP 脚本每秒有数百个查询时会发生什么 它会影响这些函数吗 是否保证它们会返回当前脚本中最后一个插入语句中最后插入的 id 它会返回当前脚本中最后一次选择的行数吗 如果同时从另一个脚本进行新的插入或选择 在 FOUND ROWS 的情
  • 如何访问带有美元符号的 PHP 对象属性?

    我有一个 PHP 对象 其属性中有一个美元 符号 如何访问该属性的内容 例子 echo object gt variable Ok echo object gt variable WithDollar Syntax error With 变
  • 在同一服务器上的 2 个子域中安装 2 个 WordPress 时共享用户

    我有 2 个 WordPress 网站 位于 2 个不同的子域中 例如test1 abc com and test2 abc com 这两个网站都激活了 wp require 插件 只有登录用户才能看到该网站 我们想要创建一个系统 如果用户
  • Ace Editor 自动完成和多种语言

    如何为 Ace 编辑器创建自动完成功能以及如何突出显示 php 中的 html javascript 和 csshttp ace ajax org http ace ajax org
  • 测试 CodeIgniter 会话变量的正确方法是什么?

    获取以下代码片段 测试确保会话变量不为空的最佳方法是什么 如果稍后在我的脚本中 我调用以下内容 第一个打印正确 但在第二个我收到消息 未定义的变量 已登录 我尝试过使用 empty and isset 但两者均未成功 我还尝试使用向后执行
  • Symfony/Doctrine 重新排列数据库列

    当我使用doctrine schema update命令行生成表时 Doctrine 或Symfony 似乎想要添加一个命令来重新排列我的列 将键放在它出现的前面 我想知道是否 更希望在哪里 我可以禁用环境的这个 功能 所以当我去生成我的表
  • 如何将值发布到输入框中?

    Intro I would like to get the current time after clicking at click and POST the value into input text box Note 假设包含引导样式表
  • Symfony/Form:函数 DoctrineType::__construct() 的参数太少

    我有一个奇怪的错误 我在自己的系统中实现了 Form 组件 我在那里创建了一个 FormType 其中使用 EntityType 作为字段 每次我想用 formBuilder 创建表单时 它都会抛出以下错误 Fatal error Unca
  • 计算帖子中使用 WordPress 短代码的次数

    我有以下 WordPress 短代码功能 function wp shortcode static i 1 return i i return return add shortcode shortcode wp shortcode 这很好用
  • 在运行之前可以检查 imagecreatefromjpeg 是否会导致内存耗尽致命错误吗?

    我已经对此进行了一些搜索 并且我知道不可能从内存耗尽的致命错误中恢复 我有一个运行 imagecreatefromjpeg 的脚本 我尝试捕获异常 我尝试使用 运行该函数 然后检查返回值是否为 null 或 false 我尝试使用 die
  • 重用 PDO 语句 var 会使进程崩溃

    我重用一个变量来存储两个不同的 PDO mysql 语句 stmt dbh gt prepare SELECT stmt gt execute stmt dbh gt prepare UPDATE crash here Error in o
  • 一次用 \r\n & \n & \r 分解字符串? [复制]

    这个问题在这里已经有答案了 我想按行分割字符串 但我希望它基于所有主要使用的换行符 n r n r 并返回一个包含每一行的数组 您可以使用正则表达式和preg split http php net preg split反而 lines pr
  • 即使在双引号内或使用 PHP_EOL,PHP echo 也不打印换行符

    这是一张照片剪辑 我认为它很清楚 这真让我抓狂 我似乎无法让 php 在我的本地主机 使用 xampp 或在线 PHP 解释器上打印换行符 如果你想在 php 中使用 HTML 标签 试试这个 echo dkljaks aalksja kl
  • 验证 LDAPS 连接的自签名证书

    我想从 Linux Linux 3 2 0 4 amd64 1 SMP Debian 3 2 51 1 x86 64 GNU Linux 客户端到 Windows 2012 服务器建立安全的 ldap 连接 ldaps 以更改活动中的用户密
  • 多维数组 PHP 内爆 [重复]

    这个问题在这里已经有答案了 就我的数据结构而言 我有一个 communications 数组 每个 communications id 本身包含三部分信息 id score 和 content 我想内爆这个数组以获得逗号分隔的 id 列表
  • HTML5 文件 API 和 AJAX 上传分块问题

    我编写了一个带有单独进度的拖放多个文件上传等 除了一件事之外 它工作得非常好 上传较大文件时 有时浏览器会锁定 直到上传完成 我认为这是因为该文件存储在浏览器的内存中并占用了浏览器可用的所有资源 我想知道 是否可以逐段读取文件并在读取时通过
  • 为什么 0.5 mod 0.1 在不同的编程语言中结果不同?

    我有一个关于模数的问题 模运算求一个数除以另一个数的余数 我原本期望 0 5 0 1 0 的结果 但是当我在 PHP 或 net 中运行它时 我得到 0 1 我运行的 php 代码是 var dump fmod 0 5 0 1 在 net中
  • mysql_query 保留返回时在表中创建的数据类型?

    我在mysql中有一个表 CREATE TABLE user id INT name VARCHAR 250 我查询表 result mysql query SELECT id name FROM user 我收集结果 while row
  • 无法将句子插入数据库

    我有一些句子 我必须选择由 6 个以上单词组成的句子 然后它们将被插入到数据库中

随机推荐

  • 卸载后如何打开网站?

    软件安装后我可以打开一个网站 如下所示 Run Filename http example com Flags shellexec runasoriginaluser 有没有办法在软件卸载后打开另一个网站 要在卸载完成后打开不可执行的文件
  • CPAN 将模块安装到 perl5 而不是 site_perl

    我正在尝试将一些 cpan 模块临时安装到自定义文件夹 tmp perl 中 所以我修改了构建安装基础 o conf mbuildpl arg install base tmp perl o conf makepl arg INSTALL
  • 从 C# 代码将数据插入 SQL Server

    我有一张桌子student id name 然后我有一个文本框 用于输入名称 当单击提交按钮时 它将数据插入数据库 那么我怎样才能只插入名称 而不插入id 因为id是自动递增的呢 我试过这个 insert into student id n
  • Maven 和 Eclipse 使用的 Checkstyle 配置

    我尝试在 Maven 和 Eclipse 中使用相同的 Checkstyle 配置文件 模块 SuppressionCommentFilter 在 Eclipse 中按预期工作 但 Maven 报告 不允许 TreeWalker 作为 Su
  • 具有相同内容的两个字符串何时(不)共享相同的内存?

    来自问题两个内容相同的字符串会存储在同一个内存位置吗 拥有Java代码 String s1 Java 该字符串是否会分配在同一内存位置 或多个 是否多次启动同一个程序并并行 同时 执行它 可能的答案 我目前是 C 开发人员 尽管在上个世纪是
  • 将值数组发送到 Oracle 过程以在 WHERE IN 子句中使用

    我在Oracle中有一个存储过程 如下所示 CREATE PROCEDURE MY TEST PROC CUR OUT SYS REFCURSOR PARAM THAT WILL BE USED INSIDE WHERE IN AS BEG
  • 用Java读取svg路径数据的最简单方法? [复制]

    这个问题在这里已经有答案了 我希望使用 svg 图像并解析 处理不同的路径来进行自定义转换 在Java中 简单提取路径数据的最简单方法是什么 我正在查看 apache xmlgraphics batik 包 但如何返回路径类型和参数并不明显
  • ActiveMQ:通过JMX获取连接列表?

    如何获取ActiveMQ OpenWire 连接器的连接列表 JConsole 能够列出连接 但我看不到可以使用哪个 视图 来获取列表 连接的对象名称示例 org apache activemq BrokerName localhost T
  • 在 JavaFX 2 中播放带字幕的视频

    我注意到 JavaFX 1 有一个SubtitleTrack用于从视频文件中提取字幕的类 但我在 JavaFX 2 中找不到等效的功能 javafx scene media似乎不存在 这个功能是否已经实现了 在什么情况下它转移到了哪里 或者
  • Appium 和 Selenium 网格的并行测试

    我正在尝试使用 appium 和 selenium 网格在 2 个设备上运行并行测试 但由于某种原因 它仅在第一个节点服务器 和第一个设备 上运行 但在第二个服务器上没有任何反应 另外 如果我关闭第一台服务器并运行测试 那么测试将在第二台服
  • Boost asio 处理程序不会保持 io_service 运行

    我想向 boost io service 添加一个信号处理程序 允许应用程序在用户按下 Ctrl C 时彻底关闭 这当然可以通过停止循环轻松完成 如下所示 boost asio io service service boost asio s
  • FB.ui 弹出窗口未关闭

    初始化代码 FB init appId 123456789012345 channelUrl http localhost Some Url FacebookChannel status true cookie true oauth tru
  • 如何将接收字节图像的对象转换为实际图像?

    我正在用 C 开发智能设备应用程序 我正在调用网络服务 Web 服务方法返回谷歌地图 该方法的返回类型是对象 该对象包含字节格式的图像 该对象包含 base64binary 格式的图像 我需要在我的应用程序中显示实际图像 我需要进行什么类型
  • jpa2/eclipselink 合适的 DAO 结构是什么?

    我有 JPA 实体并且需要用它们执行逻辑 到目前为止 一个巨大的静态数据库类完成了这项工作 它很丑陋 因为每个公共接口方法都有一个使用 EntityManager 的私有等效方法来执行事务 但我也可以通过静态 em 来解决这个问题 然而我想
  • gfortran 需要格式宽度而 ifort 不需要?

    我正在尝试将 FOR 文件 出于练习目的 从 ifort 迁移到 gfortran 该文件在我的 Intel Visual Fortran 解决方案中编译时没有任何问题 但是 当我使用以下命令在 gfortran 中编译它时 gfortra
  • 为什么 ObservedObject 数组未在我的 SwiftUI 应用程序中更新?

    我正在玩 SwiftUI 试图了解如何ObservableObject作品 我有一个数组Person对象 当我添加一个新的Person到数组中 它会重新加载到我的视图中 但是如果我更改现有的值Person 它不会重新加载到视图中 Names
  • 如何获取 std::locale 的日期和时间的当前“本地化模式”

    到目前为止 我能够获取当前的区域设置 但我想获取该特定区域设置的日期格式 这可以用标准库来完成吗 include
  • 使用 EF Core IdentityContext 和 DbContext 进行订单管理

    我正在 ASP MVC Core 2 上创建一个电子商务网站 我继承了我的用户IdentityUser并继承了上下文IdentityDbContext用于处理用户数据并继承了不同的上下文DbContext用于处理产品和订单等 现在 我想将订
  • 在 Ruby 安装期间遇到 RVM 问题 (1.9.2)

    我正在尝试通过 RVM 安装 ruby 但收到以下错误 并且日志不太清楚发生了什么 有人遇到过这种情况吗 我似乎记得 Ruby 不应该以 root 身份安装 但我对收到的权限错误有点怀疑 Installing Ruby from sourc
  • 如何使用 PHP 中的curl 上传文件

    如何在 PHP 中使用 cURL 或其他方式上传文件 换句话说 用户在表单上看到文件上传按钮 表单被发布到我的 PHO 脚本 然后我的 PHP 脚本需要将其重新发布到另一个脚本 例如在另一台服务器上 我有这个代码来接收文件并上传它 echo