Que más amigos del foro.
Les cuento que logré solucionar el problema aunque no se si de la manera más óptima.
la estrategia que apliqué fué la siguiente:
//copio y renombro el archivo en cuestión, el cual usaré como un archivo temporal
copy ( "arc_config.php", "arc_temp.php" );
//luego abro el archivo temporal como lectura
$arc_temp = fopen ( "arc_temp.php","r" );
//luego abro el archivo original solo escritura
$arc_config = fopen ( "arc_config.php","w" );
// centinela que uso para no volver a verificar las constantes después de conseguida la primera ocurrencia (solo conveniencia :P)
$define = 0;
// bucle para leer el archivo
while ( !feof ( $arc_temp ) ) {
// leo linea a linea el archivo temporal
$lineaLeida = fgets ( $arc_temp, 1024 );
// verifico si la linea leída contiene la definición de constante
if ( ( preg_match ( '/^define/', $lineaLeida ) ) && ( $define == 0 ) ) {
$define++;
// como es la primera constante verifico que posea la definición que estoy buscando
if ( preg_match ( '/ESPACIO_DE_TRABAJO/', $lineaLeida ) ) {
//para ubicarme en la posición de la cadena para obtener el substring que quiero reemplazar
$pos = strpos ( $lineaLeida, "realpath" );
$tamSubCadena = strlen ( "realpath ( '" );
// se reemplaza el substring por el que quiero
$lineaModificada = str_replace ( substr ( $lineaLeida, $pos + $tamSubCadena, -8 ), './nueva/ruta/del/espacio/de/trabajo/', $lineaLeida ) );
}
// escribo la linea modificada en el archivo original que estoy reescribiendo
fwrite ( $arc_config, $lineaModificada );
} else {
// escribo la linea que no se modifica nuevamente en el archivo original que estoy reescribiendo
fwrite ( $arc_config, $lineaLeida );
}
}
fclose ( $arc_temp );
fclose ( $arc_config );
// por ùltimo borro el archivo temporal
unlink ( $arc_temp );
espero les sirva también a ustedes.
Gracias de todas formas, hasta otra oportunidad.