将fortran中带有Err说明符的OPEN函数转换为PHP中的fopen函数
我需要为php中的fortran行找到一个等效表达式: fortran代码:将fortran中带有Err说明符的OPEN函数转换为PHP中的fopen函数,php,fopen,goto,fortran90,Php,Fopen,Goto,Fortran90,我需要为php中的fortran行找到一个等效表达式: fortran代码: 10 OPEN(UNIT=10,FILE='TEST.OUT',STATUS='NEW', ERR=9001) GOTO 11 9001 OPEN(UNIT=10,FILE='TEST.OUT') CLOSE(10,STATUS='DELETE') OPEN(UNIT=2,FILE='fort2') CLOSE(2,STATUS='DELETE') G
10 OPEN(UNIT=10,FILE='TEST.OUT',STATUS='NEW', ERR=9001)
GOTO 11
9001 OPEN(UNIT=10,FILE='TEST.OUT')
CLOSE(10,STATUS='DELETE')
OPEN(UNIT=2,FILE='fort2')
CLOSE(2,STATUS='DELETE')
GOTO 10
11 OPEN(UNIT=7,FILE='TEST.SUM',STATUS='NEW')
我想把这段代码转换成php代码。我想使用fopen函数,但我不知道如何使其跳转到第9001行以删除旧文件(如果有任何旧文件)。
非常感谢您的帮助。我不知道Fortran代码到底在做什么,但听起来您希望这样:
$fh = fopen('TEST.OUT', 'w');
请注意'w'
模式的说明:
只供写作使用;将文件指针放在文件的开头,并将文件截断为零长度。如果文件不存在,请尝试创建它
否则可能:
do {
$fh = @fopen('TEST.OUT', 'x');
if (!$fh) {
unlink('TEST.OUT');
unlink('fort2');
}
} while (!$fh);
'x'
:创建和打开仅用于编写;将文件指针放在文件的开头。如果文件已经存在,则fopen()调用将失败,返回FALSE并生成级别为E_警告的错误。如果文件不存在,请尝试创建它
不过,您应该注意不要进入无限循环
您也可以自己进行这些检查:
if (file_exists('TEST.OUT')) {
unlink('TEST.OUT');
unlink('fort2');
}
我不知道Fortran代码到底在做什么,但听起来您希望这样:
$fh = fopen('TEST.OUT', 'w');
请注意'w'
模式的说明:
只供写作使用;将文件指针放在文件的开头,并将文件截断为零长度。如果文件不存在,请尝试创建它
否则可能:
do {
$fh = @fopen('TEST.OUT', 'x');
if (!$fh) {
unlink('TEST.OUT');
unlink('fort2');
}
} while (!$fh);
'x'
:创建和打开仅用于编写;将文件指针放在文件的开头。如果文件已经存在,则fopen()调用将失败,返回FALSE并生成级别为E_警告的错误。如果文件不存在,请尝试创建它
不过,您应该注意不要进入无限循环
您也可以自己进行这些检查:
if (file_exists('TEST.OUT')) {
unlink('TEST.OUT');
unlink('fort2');
}
你能用英语描述一下这个代码应该做什么吗?你想打开一个文件,但是如果它已经存在,你想删除旧文件,然后打开一个新文件?你能用英语描述一下这个代码应该做什么吗?您想打开一个文件,但如果它已经存在,您想删除旧文件,然后打开一个新文件?非常感谢!do-while循环确实完成了fortran代码的功能。非常感谢deceze!do-while循环确实完成了fortran代码的功能。