PHP MKDIR no crea carpeta nueva en servidor Linux Red Hat
Publicado por Arturo (1 intervención) el 21/12/2021 19:13:24
Buenos días. Estoy creando un proceso en el cual el usuario brinda un nombre de usuario, sube una foto de perfil y posteriormente sube varias imágenes. La idea es que el código PHP genere una nueva carpeta con el nombre de usuario proporcionado y guarde en dicha carpeta la foto de perfil renombrada como “profileImg” y las imágenes adicionales. Mi problema es que el código lo hice correr en un servidor local, utilizando wampserver, y funciono; lo subí a un host en la nube, utilizando www.000webhost.com, y también funciono. Pero al momento de subir el código en un servidor web privado, el cual tiene un OS Linux Red Hat, el código no genera la nueva carpeta. Dejo el código a continuación, espero que me puedan ayudar o al menos aprovechar el código.
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
<?php
$message = '';
$message2 = '';
/* Creacion de la nueva carpeta*/
if (!empty($_POST['dir'])) {
$name_dir = $_POST['dir'];
$path= 'usuarios/'.$name_dir;
if (!file_exists($path)) {
$event = mkdir ($path, 0700, true);
$message = 'Carpeta creada';
$message_type = 'success';
} else { $message = 'La carpeta ya existe'; $message_type = 'danger'; }
}
/*Cargar y renombrar imagen de usuario */
if (isset($_POST['submit'])) {
$file = $_FILES['userimg'];
$fileName = $_FILES['userimg']['name'];
$fileTmpName = $_FILES['userimg']['tmp_name'];
$fileSize = $_FILES['userimg']['size'];
$fileError = $_FILES['userimg']['error'];
$fileExt = explode('.', $fileName);
$fielActualExt = strtolower(end($fileExt));
$allowed = array('jpg', 'jpeg', 'png');
if (in_array($fielActualExt, $allowed)) {
if ($fileError === 0) {
$fileNameNew = "profileImg.".$fielActualExt;
$fileDestination = 'usuarios/'.$name_dir.'/'.$fileNameNew;
move_uploaded_file($fileTmpName, $fileDestination);
$message_type2 = 'success';
$message2 = 'Imagen cargada';
} else { $message2 = 'Error al subir archivo'; $message_type2 = 'danger';}
} else { $message2 = 'Archivo invalido'; $message_type2 = 'danger'; }
/****************************Cargar multiples imagenes************************/
foreach ($_FILES['upload']['tmp_name'] as $key => $image) {
$imageName = $_FILES['upload']['name'][$key];
$imageTmpName = $_FILES['upload']['tmp_name'][$key];
$result = move_uploaded_file($imageTmpName,'usuarios/'.$name_dir.'/'.$imageName);
}
}
?>
<!DOCTYPE html>
<html lang="es">
<head>
<meta charset="UTF-8">
<meta http-equiv="X-UA-Compatible" content="IE=edge">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>Registro Directorio</title>
<link rel="stylesheet" href="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/css/bootstrap.min.css" integrity="sha384-Gn5384xqQ1aoWXA+058RXPxPg6fy4IWvTNh0E263XmFcJlSAwiGgFAW/dAiS6JXm" crossorigin="anonymous">
</head>
<body>
<div class="container cnt">
<?php if (!empty($message)): ?>
<div class="alert alert-<?= $message_type;?> alert-dismissible fade show" role="alert">
<?= $message; ?>
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<?php endif; ?>
<?php if (!empty($message2)): ?>
<div class="alert alert-<?= $message_type2;?> alert-dismissible fade show" role="alert">
<?= $message2; ?>
<button type="button" class="close" data-dismiss="alert" aria-label="Close">
<span aria-hidden="true">×</span>
</button>
</div>
<?php endif; ?>
<form action="index.php" method="POST" enctype="multipart/form-data">
<div class="form-group">
<div class="mb-3">
<label for="name">Nombre de usuario</label>
<input type="text" class="form-control" name="dir" id="name" placeholder="Inserta un nombre de usuario" required>
</div>
<div class="mb-3">
<label for="userphoto">Foto de perfil</label>
<input type="file" class="form-control-file" name="userimg">
</div>
<label for="userphoto">Fotos de galeria</label>
<input name="upload[]" class="form-control-file" type="file" multiple="multiple" />
<input type="submit" class="btn btn-success btn-block" name="submit" value="Guardar">
</div>
</form>
</div>
<script src="https://code.jquery.com/jquery-3.2.1.slim.min.js" integrity="sha384-KJ3o2DKtIkvYIK3UENzmM7KCkRr/rE9/Qpg6aAZGJwFDMVNA/GpGFF93hXpG5KkN" crossorigin="anonymous"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/popper.js/1.12.9/umd/popper.min.js" integrity="sha384-ApNbgh9B+Y1QKtv3Rn7W3mgPxhU9K/ScQsAP7hUibX39j7fakFPskvXusvfa0b4Q" crossorigin="anonymous"></script>
<script src="https://maxcdn.bootstrapcdn.com/bootstrap/4.0.0/js/bootstrap.min.js" integrity="sha384-JZR6Spejh4U02d8jOt6vLEHfe/JQGiRRSQQxSfFWpi1MquVdAyjUar5+76PVCmYl" crossorigin="anonymous"></script>
</body>
</html>
Valora esta pregunta


0