У меня есть форма для отправки сообщения другим пользователям. При отправке вложения каталог не создается для сохранения.
ошибка
Warning: chmod(): No such file or directory in C:\xampp\htdocs\_sesiones\validar.php on line 199
Warning: move_uploaded_file(nicogaldo/adjunto_msj/para_11/2014-09-17/mensajeria.php): failed to open stream: No such file or directory in C:\xampp\htdocs\_sesiones\validar.php on line 206
Warning: move_uploaded_file(): Unable to move 'C:\xampp\tmp\php120F.tmp' to 'nicogaldo/adjunto_msj/para_11/2014-09-17/mensajeria.php' in C:\xampp\htdocs\_sesiones\validar.php on line 206
nombre del archivo: nicogaldo/adjunto_msj/para_11/2014-09-17/mensajeria.php
nombre de usuario: nicogaldo
Это проверка файла для загрузки:
PHP:
$Mensaje_msj="";
$fecha= date("Y-m-d");
$TamanioMaximo_msj=3000000;
$CarpetaAlojamiento_msj='../updates_msj/'.$_SESSION['user'].'/para_'.$_POST['user'].'/'.$fecha';
//$CarpetaAlojamiento_msj=$_SESSION['user']; //Works fine :S
$NombreArchivoFinal_msj="";
if (!empty($_FILES['adjunto'])) {
if($_FILES['adjunto']['size']>$TamanioMaximo) {
$Mensaje_msj.= 'El adjunto debe pesar menos de 3mb';
} else {
if (!is_dir($CarpetaAlojamiento_msj)) {
mkdir($CarpetaAlojamiento_msj); #line 199
chmod($CarpetaAlojamiento_msj, 0777);
}
}
$NombreArchivoFinal_msj="$CarpetaAlojamiento_msj/{$_FILES['adjunto']['name']}";
if (is_uploaded_file($_FILES['adjunto']['tmp_name'])) { #line 206
move_uploaded_file($_FILES['adjunto']['tmp_name'], $NombreArchivoFinal_msj);
}
echo "nombre del archivo: ".$NombreArchivoFinal_msj;
echo "nombre de usuario: ".$_SESSION['user'];
}
Но когда я ухожу $CarpetaAlojamiento_msj=$_SESSION['user'];
работает хорошо.
Любая идея?
пытаться mkdir($CarpetaAlojamiento_msj, 0777, true);
, true
параметр означает mkdir рекурсивно.
Других решений пока нет …