【发布时间】:2020-03-18 12:16:53
【问题描述】:
我很难使用 Laravel 的文件系统。我正在尝试在控制器中生成、保存和传输 xml 文件。
除了 ftp 传输之外的一切都有效。我怀疑这是因为我无法在 sendFilToNCS($fileName) 函数中获得新 xml 文件的正确路径。我收到此错误:
ErrorException ftp_put(/storage/1584533245.xml): 未能打开 流:没有这样的文件或目录
希望能得到 laravel 专家的帮助。美好的一天。
class ExportController extends Controller
{
public function __construct(){
$this->middleware('auth:admin');
}
public function index($id){
$foromtale = Foromtale::find($id);
$data = new NCSNote($foromtale);
$xml = View::make('xmlTemplate')->with('view', $data);
$xmlDoc = simplexml_load_string($xml);
return $this->writeXml($xmlDoc);
}
public function writeXml($content){
$fileName = time().".xml";
//$content->saveXML($fileName);
Storage::put($fileName, $content);
Storage::move($fileName, 'storage/'.$fileName);
return $this->sendFilToNCS($fileName);
}
private function sendFilToNCS($fileName)
{
$content = Storage::disk('local')->url($fileName);
$ftp_server = "ftp.host.dk";
$ftp_conn = ftp_connect($ftp_server) or die("Could not connect to $ftp_server");
$login = ftp_login($ftp_conn, "username", "xXxxXX");
// upload file
if (ftp_put($ftp_conn, $fileName, $content, FTP_ASCII))
{
// close connection
ftp_close($ftp_conn);
return true;
}
// close connection
ftp_close($ftp_conn);
return false;
}
}
【问题讨论】:
标签: php laravel ftp filesystems