el problema lo puedes tener al copiar el fichero en el directorio que le indicas, que puedes no tener permisos... prueba esto en subearchivo.php:
Código PHP:
$cadenatexto = $_POST["cadenatexto"];
$nombre_archivo = $_FILES['userfile']['name'];
$tipo_archivo = $_FILES['userfile']['type'];
$tamano_archivo = $_FILES['userfile']['size'];
$file_name = $_FILES['userfile'];
$dir = $_SERVER['DOCUMENT_ROOT']."dirPrueba/";
mkdir($dir,0777);
$dir .= $_FILES['userfile']['name'];
if (!((strpos($tipo_archivo, "gif") || strpos($tipo_archivo, "jpg")) && ($tamano_archivo < 100000)))
{
echo "La extensión o el tamaño de los archivos no es correcta. <br><br><table><tr><td><li>Se permiten archivos .gif o .jpg<br><li>se permiten archivos de 100 Kb máximo.</td></tr></table>";
}
else
{
if (move_uploaded_file($_FILES['userfile']['tmp_name'], $dir))
{
echo "El archivo ha sido cargado correctamente.";
}
else
{
echo "Ocurrió algún error al subir el fichero. No pudo guardarse.";
}
}