一个是读写模式,一个是只写模式。楼上的英文不知道你能看懂吗。或者你看个中文版的。www.hi-docs.com/php/fopen.html,或者你看下这个例子就明白了,只写模式是无法读取内容的。
<?php$fp1 = fopen('1.txt','a')
echo fgets($fp1)
fclose($fp1)
echo '<hr>'
$fp2 = fopen('1.txt','a+')
echo fgets($fp2)
fclose($fp2)
?>
可以使用copy()函数进行。
参考代码为:
<?php
$file='userfile/a/abc.txt'//旧目录
if (file_exists($file)) {
$newFile='userfile/b/newabc.txt'//新目录
copy($file,$newFile)//拷贝到新目录
unlink($file)//删除旧目录下的文件
}
其中,copy() 函数拷贝文件,语法:copy(source,destination)。将文件从 source 拷贝到 destination。如果成功则返回 TRUE,否则返回 FALSE。
扩展资料:
使用说明:
1、提示:如果要移动文件的话,使用 rename() 函数。用法:bool rename(string $oldname, string $newname),其中,$oldname为源文件的路径名,$newname为移动后的文件路径。如果二者表示的路径在同一目录下,则函数实际执行的是重命名,否则执行的是文件移动。
2、注释:从 PHP 4.3.0 开始,如果启用了 "fopen wrappers" 的话,source 和 destination 都可以是 URL。更多信息见 fopen()。如果 destination 是一个 URL,则如果封装协议不支持覆盖已有的文件时拷贝 *** 作会失败。
3、重要事项:如果目标文件已存在,将会被覆盖。
参考资料来源:百度百科-copy-其他意思-php中
可以使用 PHP 的 array_push() 和 array_splice() 函数来实现将指定元素(0)移动到数组的末尾。以下是示例代码:Copy code
$arr = array(0, 3, 5, 0, 0, 7, 1, 9, 0, 8)
foreach ($arr as $key =>$val) {
if ($val === 0) {
array_push($arr, 0)
array_splice($arr, $key, 1)
}
}
print_r($arr)
在本示例中,通过 foreach 循环遍历数组 $arr,并通过 if 语句检查每个元素是否为 0。如果 $val 元素为 0,则使用 array_push() 函数将一个 0 添加到数组的末尾,再使用 array_splice() 函数移除这个 0 的原始元素。
最后,使用 print_r() 函数打印数组 $arr 的新值。运行上述代码,输出为:
Copy code
Array
(
[0] =>3
[1] =>5
[2] =>7
[3] =>1
[4] =>9
[5] =>8
[6] =>0
[7] =>0
[8] =>0
[9] =>0
)
可以看到,输出结果数组正确地将原始数组中的所有 0 移动到了末尾,并保持了所有其他元素的相对位置不变。
欢迎分享,转载请注明来源:内存溢出
评论列表(0条)