使用php从传入的http POST重命名文件
我正在尝试重命名通过http POST接受的文件。请参阅代码:使用php从传入的http POST重命名文件,php,Php,我正在尝试重命名通过http POST接受的文件。请参阅代码: <?php $xmlData = fopen('php://input' , 'rb'); while (!feof($xmlData)) { $xmlString .= fread($xmlData, 4096); } fclose($xmlData); file_put_contents('temp/message' . date('m-d-y') . '-' . time() . '.xml', $xmlString,
<?php
$xmlData = fopen('php://input' , 'rb');
while (!feof($xmlData)) { $xmlString .= fread($xmlData, 4096); }
fclose($xmlData);
file_put_contents('temp/message' . date('m-d-y') . '-' . time() . '.xml', $xmlString, FILE_APPEND);
$xml = new SimpleXMLElement($xmlString);
$id = trim($xml->MSG->ID);
$receiver = trim($xml->MSG->RECEIVER);
$message = trim($xml->MSG->MESSAGE);
$sender = trim($xml->MSG->SENDER);
$binary = trim($xml->MSG->BINARY);
$sent = trim($xml->MSG->SENT);
foreach ($xml->{'line-items'}->{'line-item'} as $lineItem) {
array_push($messageTitles, trim($lineItem->title));
}
header('HTTP/1.0 200 OK');
exit();
MSG->ID);
$receiver=trim($xml->MSG->receiver);
$message=trim($xml->MSG->message);
$sender=trim($xml->MSG->sender);
$binary=trim($xml->MSG->binary);
$sent=trim($xml->MSG->sent);
foreach($xml->{'line-items'}->{'line-item'}作为$line-item){
数组推送($messageTitles,trim($lineItem->title));
}
标题(“HTTP/1.0 200 OK”);
退出();
现在我有点不知道如何重命名它了?为了处理XML树,甚至不需要保存文件。因此,您可以处理该文件并将
文件移动到最后,将内容(…)
<?php
$xmlData = fopen('php://input' , 'rb');
while (!feof($xmlData)) { $xmlString .= fread($xmlData, 4096); }
fclose($xmlData);
$xml = new SimpleXMLElement($xmlString);
$id = trim($xml->MSG->ID);
$receiver = trim($xml->MSG->RECEIVER);
$message = trim($xml->MSG->MESSAGE);
$sender = trim($xml->MSG->SENDER);
$binary = trim($xml->MSG->BINARY);
$sent = trim($xml->MSG->SENT);
foreach ($xml->{'line-items'}->{'line-item'} as $lineItem) {
array_push($messageTitles, trim($lineItem->title));
}
file_put_contents("temp/$receiver.xml", $xmlString, FILE_APPEND); // warning: security issue here
header('HTTP/1.0 200 OK');
exit();
MSG->ID);
$receiver=trim($xml->MSG->receiver);
$message=trim($xml->MSG->message);
$sender=trim($xml->MSG->sender);
$binary=trim($xml->MSG->binary);
$sent=trim($xml->MSG->sent);
foreach($xml->{'line-items'}->{'line-item'}作为$line-item){
数组推送($messageTitles,trim($lineItem->title));
}
文件内容(“temp/$receiver.xml”,$xmlString,文件追加);//警告:此处存在安全问题
标题(“HTTP/1.0 200 OK”);
退出();
请注意,您应该强制执行安全限制,以防止用户使用任意名称命名您的文件。您想重命名什么?
temp/message…
-文件?在file\u put\u contents-statement中使用不同的路径/名称…我需要保存该文件,以便处理xml并将传递给我的xml重命名为其中一个字段?ie:1234然后1234将在文件名中好吧,我在最后一个小时内离线了,但我很高兴看到@cc处理了这个问题。在处理数据之前无需保存文件。。。