在OJ的后台数据上传那儿,出现了小问题,主要是读取mysql的字符串长度有限制
而且,OJ测试数据经常需要大数据,例如4M大小,甚至更大,因此,决定改成文件传输来代替POST
这里又出现了些新问题,主要是因为php的默认内存受到限制,通过ini_set修改'memory_limit'参数
下面是新学到的一些php知识:
1.文件读取:
file_put_contents(file,data,mode,context)
参数 | 描述 |
---|---|
file | 必需。规定要写入数据的文件。如果文件不存在,则创建一个新文件。 |
data | 可选。规定要写入文件的数据。可以是字符串、数组或数据流。 |
mode |
可选。规定如何打开/写入文件。可能的值:
|
context |
可选。规定文件句柄的环境。 context 是一套可以修改流的行为的选项。若使用 null,则忽略。 |
file_get_contents(path,include_path,context,start,max_length)
参数 | 描述 |
---|---|
path | 必需。规定要读取的文件。 |
include_path | 可选。如果也想在 include_path 中搜寻文件的话,可以将该参数设为 "1"。 |
context |
可选。规定文件句柄的环境。 context 是一套可以修改流的行为的选项。若使用 null,则忽略。 |
start | 可选。规定在文件中开始读取的位置。该参数是 PHP 5.1 新加的。 |
max_length | 可选。规定读取的字节数。该参数是 PHP 5.1 新加的。 |
clearstatcache() 函数清除文件状态缓存。
会进行缓存的函数,即受 clearstatcache() 函数影响的函数:
- stat()
- lstat()
- file_exists()
- is_writable()
- is_readable()
- is_executable()
- is_file()
- is_dir()
- is_link()
- filectime()
- fileatime()
- filemtime()
- fileinode()
- filegroup()
- fileowner()
- filesize()
- filetype()
- fileperms()
filesize(filename)
提示:本函数的结果会被缓存。请使用 clearstatcache() 来清除缓存。
2.String函数
chr() | 从指定的 ASCII 值返回字符。 |
ini_set('memory_limit', '30M');
暂时记录到这儿。
之前OJ做了很久,但是一直没有记录什么东西,后面有时间,我都将会记录在博客里面。