Lo que se me ocurre que podés hacer es:
1. Usar file() para guardar el contenido en un array
2. Recorrerlo haciendo explode() de cada línea, para que te separe artículo, cantidad y precio.
3. Cuando encuentras el artículo verificás si la cantidad que pide es igual a la que tenés registrada, y en ese caso hacés unset() de ese elemento en el array principal (no del que obtuviste con explode)
4. Con implode transformás el array resultante en una cadena de nuevo
5. Abrís el archivo en modo w para borrar su contenido y escribís la cadena
Código PHP:
$cont = file('arch.txt');
foreach($file as $id => $art) {
$articulo = explode(' ', $art);
if($articulo[0] == $producto_pedido && $articulo[1] == $cantidad_pedida) {
unset($cont[$id]);
}
}
$cont_new = implode('', $cont);
$f = fopen('arch.txt', 'w');
fwrite($f, $cont_new);
fclose($f);
La verificación de los procesos te la dejo a vos ;)
Una cosa, si el nombre del producto tiene espacios vas a tener problemas. Te recomiendo que como separador uses otro(s) caracter(es) menos usados. Cualquier combinación medianamente rara puede servir (nombre#-#cant#-#precio, x ej)
Sino podés usar bases de datos, y en caso de no contar con ningún motor, SQLLite, que te permite crear en una base de datos en un archivo.
Suerte
Fede