https://api.mindbodyonline.com/0_5/ClassService.asmx
答案 0 :(得分:2)
您没有正确使用//reading a file
if ($handle = fopen("/students/students.txt", "r"))
{
echo "info obtained:<br>";
while (($buffer = fgets($handle))!==false)
{ echo $buffer;}
fclose($handle);
}
//writing/overwriting a file
if ($handle = fopen("/students/students.txt", "w"))
{
fwrite($handle, "hello/n");
fclose($handle);
}
。该函数返回一个句柄,然后用于读取或编辑文件,例如:
<LinearLayout
xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"
tools:context=".MainActivity">
<ScrollView
android:layout_width="match_parent"
android:layout_height="match_parent">
<LinearLayout
android:layout_width="match_parent"
android:layout_height="match_parent"
android:orientation="vertical"`enter code here`>
<---------Content Here --------------->
</LinearLayout>
</ScrollView>
</LinearLayout>
如果这对您有用,请告诉我。
P.S。:对评论员提出建设性反馈意见。
答案 1 :(得分:1)
有许多方法可以读取/写入文件,正如其他人所证明的那样。我只想说明你的特定方法中的错误。
fread
将文件句柄作为参数,而不是表示文件路径的字符串。
所以你的行:
$content = fread("/students/students.txt", filesize("/students/students.txt"));
不正确。
应该是:
$file_handle = fopen("/students/students.txt", "r");
$content = fread($file_handle, filesize("/students/students.txt"));
使用fwrite
将内容写入文件时也是如此。它对文件的引用是使用File Handle
而不是文件路径打开的fopen
。使用fopen()
打开文件时,您还可以检查返回的$ file_handle是否为有效资源或是否为false。如果为false,则表示fopen操作不成功。
所以你的代码:
fopen("/students/students.txt", "w");
fwrite("/students/students.txt", $content."\n".$SID);
fclose("/students/students.txt");
需要重写为:
$file_handle = fopen("/students/students.txt", "w");
fwrite($file_handle, $content."\n".$SID);
fclose($file_handle);
您可以看到fclose
也对文件句柄进行操作。
文件句柄(根据php.net):
A file system pointer resource that is typically created using fopen().
答案 2 :(得分:0)
以下是一些诊断函数,可用于验证文件是否存在且可读。如果是权限问题,则会为您提供需要权限的用户的名称。
function PrintMessage($text, $success = true)
{
print "$text";
if ($success)
print " [<font color=\"green\">Success</font>]<br />\n";
else
print(" [<font color=\"red\">Failure</font>]<br />\n");
}
function CheckReadable($filename)
{
if (realpath($filename) != "")
$filename = realpath($filename);
if (!file_exists($filename))
{
PrintMessage("'$filename' is missing or inaccessible by '" . get_current_user() . "'", false);
return false;
}
elseif (!is_readable($filename))
{
PrintMessage("'$filename' found but is not readable by '" . get_current_user() . "'", false);
return false;
}
else
PrintMessage("'$filename' found and is readable by '" . get_current_user() . "'", true);
return true;
}
答案 3 :(得分:0)
我用(IMO)的代码重新编写了一个更干净,更有效的代码:
<?php
$SID = "SOMETHING MYSTERIOUS";
setcookie("Student", $SID, time()+43200, "/");
$file = "/students/students.txt"; //is the full path correct?
$content = file_get_contents($file); //$content now contains /students/students.txt
$size = filesize($file); //do you still need this ?
echo $content;
file_put_contents($file, "\n".$SID, FILE_APPEND); //do you have write permissions ?
file_get_contents()
是读取内容的首选方式 将文件转换为字符串。如果支持,它将使用内存映射技术 通过您的操作系统来提高性能。
此功能与调用
fopen()
,fwrite()
和。{fclose()
先后将数据写入文件。如果文件名没有 存在,文件被创建。否则,现有文件是 覆盖,除非设置FILE_APPEND
标志。
注意:
/students/students.txt
的正确即可。检查您是否拥有read/write
的{{1}}权限
详细了解linux file/folder permissions,或者,如果您无法访问shell,请how to change file or directory permissions via ftp
答案 4 :(得分:-1)
尝试这样做:
for (Component component : this.window.getComponents()) {
if (component instanceof Oval) {
component.setBackground(randomColor);
}
}
并检查权限读取文件。