php - 将文件名与字符串分开
问题描述
最终解决方案
大家好,
这是我用来在 GF 中上传多文件上传的最终代码。此代码经过测试并已通过我的第三方系统的身份验证。
$form_id = $entry[ '1' ];
$upload_path = GFFormsModel::get_upload_path( $form_id );
$upload_url = GFFormsModel::get_upload_url( $form_id );
$arrPaths = str_replace( $upload_url, $upload_path, $entry[ 'x' ] );
$Paths = explode('","', substr($arrPaths, 1, -1));
$t=1;
foreach ($Paths as $key => $path) {
$path = str_replace('"', '', $path);
$path = str_replace('\/', '/', $path);
$path = str_replace('["', '', $path);
$path = str_replace('"]', '', $path);
$Paths[$key] = $path;
$add_client_files_POA = array(
"strURL" => $path,
"nClientId" => $clientId,
"nContactId" => $contactId,
"fileType" => rgar( $entry, 'y' ),
"fileName" => "Proof of Address" . $t
);
if(!empty($add_client_share_three_payload['strURL'])) {
$add_client_response = $client->UploadCtcFileURL($add_client_files_POA);
}
$t=$t+1;
}
感谢所有人对此的帮助。所有的评论都让我明白了最后一点。
谢谢安德鲁
我有一个字符串,它从多个文件上传到重力形式的文件数组中输出。我需要将每个文件拆分为自己的变量,以便可以将每个文件上传到外部服务器。字符串输出如下:
"https:\/\/www.xyz.com\/folder\/sub-folder\/example1.jpg","https:\/\/www.xyz.com\/folder\/sub-folder\/example2.jpg","https:\/\/www.xyz.com\/folder\/sub-folder\/example3.jpg","https:\/\/www.xyz.com\/folder\/sub-folder\/example4.jpg"
我需要分离这些文件中的每一个,然后运行一个函数来单独上传每个文件,因为 API 不允许一次上传多个文件。
我想我需要运行一个foreach命令,但我需要去掉"" ,并将/替换 为/。这可能吗?
我的 SOAP 上传如下。
$form_id = $entry[ '1' ];
$upload_path = GFFormsModel::get_upload_path( $form_id );
$upload_url = GFFormsModel::get_upload_url( $form_id );
$POI = str_replace( $upload_url, $upload_path, $entry[ 'y' ] );
$add_client_files_POI = array(
"strURL" => $POI,
"nClientId" => $clientId,
"nContactId" => $contactId,
"fileType" => rgar( $entry, 'x'),
"fileName" => rgar( $entry, 'x')
);
$add_client_response = $client->UploadCtcFileURL($add_client_files_POI);
我正在使用此功能进行单个文件上传,并且效果很好。
提前致谢...
解决方案
尝试这样的事情:
//get paths with " removed
$arrPaths = explode('","', substr($paths, 1, -1));
foreach ($arrPaths as $path) {
//change / characters
$path = str_replace('\/', '/', $path);
}
编辑:
//get paths with " removed
$arrPaths = explode('","', substr($paths, 1, -1));
foreach ($arrPaths as $path) {
//change \/ to / characters
$path = str_replace('\/', '/', $path);
$add_client_files_POI = array(
"strURL" => $path,
"nClientId" => $clientId,
"nContactId" => $contactId,
"fileType" => rgar( $entry, 'x'),
"fileName" => rgar( $entry, 'x')
);
$add_client_response = $client->UploadCtcFileURL($add_client_files_POI);
}
推荐阅读
- jquery - 根据 id 和数据属性 jquery 获取值
- vert.x - vertx 组合期货并在发生故障时结束响应
- reactjs - React Material-UI 开关隐藏一个 div
- javascript - Django:如何在不重新加载的情况下在页面上显示更新的信息
- c - 如何作为中间节点访问分组数据
- python - 通过将网络节点与字典进行比较来定义网络节点的属性
- rust - 你能从一个字符串构建一个 hyper::Request 吗?
- python - 在python中的字典列表中提取最后一个字典
- python - Python:处理链异常的正确方法
- c# - 使用 mailgun 发送带有 html 标签的电子邮件