|
|

100精币
使用易语言 实现文件上传到服务器的指定位置
服务器的php 接口地址是 http://192.168.10.10/upload1.php
需要通过易语言上传,文件 和文件路径给接口
下面是php接口的 代码
<?php
// 解决跨域问题(如果需要)
header("Access-Control-Allow-Origin: *");
header("Content-Type: application/json; charset=utf-8");
// 1. 获取易语言传递的目标路径(必填)
$targetPath = $_POST['target_path'] ?? '';
if (empty($targetPath)) {
echo json_encode(["code"=>-1,"msg"=>"未指定服务器目标路径"]);
exit;
}
// 2. 处理目标路径(确保路径合法,防止恶意路径)
// 基础保存目录(可自定义,比如服务器的 /www/upload/)
$baseDir = __DIR__ . '/';
// 拼接最终保存路径(自动创建多级目录)
$fullDir = dirname($baseDir . $targetPath);
if (!file_exists($fullDir)) {
// 递归创建目录,权限777(测试用,生产可改755)
mkdir($fullDir, 0777, true);
chmod($fullDir, 0777);
}
// 3. 接收文件并保存到指定路径
if (!isset($_FILES['file']) || $_FILES['file']['error'] !== 0) {
$error = $_FILES['file']['error'] ?? '未知错误';
echo json_encode(["code"=>-1,"msg"=>"文件接收失败,错误码:{$error}"]);
exit;
}
// 移动文件到指定路径
$savePath = $baseDir . $targetPath;
if (move_uploaded_file($_FILES['file']['tmp_name'], $savePath)) {
echo json_encode([
"code"=>0,
"msg"=>"上传成功",
"server_path"=>$savePath,
"relative_path"=>$targetPath
]);
} else {
echo json_encode(["code"=>-1,"msg"=>"文件写入失败(权限不足/路径非法)"]);
}
?>
|
回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。 友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。 快捷通道:申请荣誉值 →
|