Except where otherwise noted, the contents of this document are Copyright 2012 Marty Stepp, Jessica Miller, and Victoria Kirst. All rights reserved. Any redistribution, reproduction, transmission, or storage of part or all of the contents in any form is prohibited without the author's expressed written permission.
| function name(s) | category | 
|---|---|
				file, 
				file_get_contents, file_put_contents
			 | 
			reading/writing entire files | 
				basename, 
				file_exists, 
				filesize,  fileperms, 
				filemtime, 
				is_dir, is_readable,
				is_writable,
				disk_free_space
			 | 
			asking for information | 
				copy, 
				rename, 
				unlink,
				chmod, chgrp, 
				chown,
				mkdir, 
				rmdir
			 | 
			manipulating files and directories | 
				glob,
				scandir
			 | 
			reading directories | 
contents of foo.txt | 
			file("foo.txt") | 
			file_get_contents("foo.txt") | 
		
|---|---|---|
				Hello how r u? I'm fine  | 
			
				array( "Hello\n", // 0 "how r u?\n", // 1 "\n", // 2 "I'm fine\n" // 3 )  | 
			
				"Hello\n how r u?\n // a single \n // string I'm fine\n"  | 
		
file function returns lines of a file as an array (\n at end of each)file_get_contents returns entire contents of a file as a single string
			file_put_contents writes a string into a file
				file function// display lines of file as a bulleted list $lines = file("todolist.txt"); foreach ($lines as $line) { // for ($i = 0; $i < count($lines); $i++) print $line; }
file returns the lines of a file as an array of strings
		\n ; to strip it, use an optional second parameter:
			
$lines = file("todolist.txt", FILE_IGNORE_NEW_LINES);
		foreach or for loop over lines of file$array = explode(delimiter, string); $string = implode(delimiter, array);
$s  = "CSE 190 M";
$a  = explode(" ", $s);     // ("CSE", "190", "M")
$s2 = implode("...", $a);   // "CSE...190...M"
	explode and implode convert between strings and arraysexplodenames.txtMartin D Stepp Jessica K Miller Victoria R Kirst
foreach (file("names.txt") as $name) {
	$tokens = explode(" ", $name);
	?>
	<p> author: <?= $tokens[2] ?>, <?= $tokens[0] ?> </p>
	<?php
}
		author: Stepp, Marty
author: Miller, Jessica
author: Kirst, Victoria
listlist($var1, ..., $varN) = array;
personal.txtMarty Stepp (206) 685 2181 570-86-7326
list($name, $phone, $ssn) = file("personal.txt");
...
list($area_code, $prefix, $suffix) = explode(" ", $phone);
	list function "unpacks" an array into a set of variables you declare
		file and list to unpack it
		| function | description | 
|---|---|
glob | 
			returns an array of all file names that match a given pattern  (returns a file path and name, such as "foo/bar/myfile.txt")
			 | 
		
scandir | 
			returns an array of all file names in a given directory  (returns just the file names, such as "myfile.txt")
			 | 
		
glob can accept a general path with the * wildcard character (more powerful)
		glob example
// reverse all poems in the poetry directory
$poems = glob("poetry/poem*.dat");
foreach ($poems as $poemfile) {
	$text = file_get_contents($poemfile);
	file_put_contents($poemfile, strrev($text));
	print "I just reversed " . basename($poemfile) . "\n";
}
				
	glob can match a "wildcard" path with the * character
			glob("foo/bar/*.doc") returns all .doc files in the foo/bar subdirectory
				glob("food*") returns all files whose names begin with "food"
				basename function strips any leading directory from a file path
			basename("foo/bar/baz.txt") returns "baz.txt"
				scandir example
<ul>
	<?php foreach (scandir("taxes/old") as $filename) { ?>
		<li>I found a file: <?= $filename ?></li>
	<?php } ?>
</ul>
		scandir includes current directory (".") and parent ("..") in the array
		basename with scandir; returns file names only without directory
		// reverse a file
$text = file_get_contents("poem.txt");
$text = strrev($text);
file_put_contents("poem.txt", $text);
	file_get_contents returns entire contents of a file as a string
			file_put_contents writes a string into a file, replacing its old contents
			// add a line to a file
$new_text = "P.S. ILY, GTG TTYL!~";
file_put_contents("poem.txt", $new_text, FILE_APPEND);
	| old contents | new contents | 
|---|---|
				Roses are red, Violets are blue. All my base, Are belong to you.  | 
			
				Roses are red, Violets are blue. All my base, Are belong to you. P.S. ILY, GTG TTYL!~  | 
		
file_put_contents can be called with an optional third parameter to append (add to the end) rather than overwriteURL?name=value&name=value...
http://www.google.com/search?q=Romney http://example.com/student_login.php?username=stepp&id=1234567
username has value stepp, and sid has value 1234567$_GET,
		$_POST
	
$user_name = $_GET["username"];
$id_number = (int) $_GET["id"];
$eats_meat = false;
if (isset($_GET["meat"])) {
	$eats_meat = true;
}
	$_GET["parameter name"] or $_POST["parameter name"] returns a GET/POST parameter's value as a string
		http://....?name=value&name=value are GET parametersisset$base = $_GET["base"]; $exp = $_GET["exponent"]; $result = pow($base, $exp); print "$base ^ $exp = $result";
exponent.php?base=3&exponent=4
<?php foreach ($_GET as $param => $value) { ?>
	<p>Parameter <?= $param ?> has value <?= $value ?></p>
<?php } ?>
		print_params.php?name=Marty+Stepp&sid=1234567
Parameter name has value Marty Stepp
Parameter sid has value 1234567
print_r or var_dump on $_GET for debugging