PHP - PHP MKDIR no crea carpeta nueva en servidor Linux Red Hat

 
Vista:

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">&times;</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">&times;</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
Me gusta: Está pregunta es útil y esta claraNo me gusta: Está pregunta no esta clara o no es útil
0
Responder
Imágen de perfil de Fabian
Val: 157
Ha disminuido su posición en 3 puestos en PHP (en relación al último mes)
Gráfica de PHP

PHP MKDIR no crea carpeta nueva en servidor Linux Red Hat

Publicado por Fabian (60 intervenciones) el 23/12/2021 10:34:43
Puede ser que tengas que habilitar los permisos de esccritura en el hosting privado. Fijate si lo podes realizar desde el panel de control del hosting.
Valora esta respuesta
Me gusta: Está respuesta es útil y esta claraNo me gusta: Está respuesta no esta clara o no es útil
0
Comentar