not existe exist example directorio crear php upload mkdir

existe - php chmod directory



mkdir() dice que no hay tal directorio y falla? (6)

Es probable que esté haciendo algo muy mal, pero cuando intento crear un directorio (usando una variable de una inserción que se acaba de realizar como último nombre de carpeta), aparece el error

Advertencia: mkdir () [function.mkdir]: no existe tal archivo o directorio en / home / blah / blah

con el código:

if (!is_dir("images/listing-images/rent/''.$insertID.")) { //make new directory with unique id mkdir("images/listing-images/rent/''.$insertID."); }

Por supuesto, el directorio no existe ... ¿Estoy intentando hacerlo ahora? ¡confuso!


No debe usar is_dir () para verificar si existe algo, también desea file_exists (). Tratar:

if (file_exists("images/listing-images/rent/$insertID") { mkdir("images/listing-images/rent/$insertID."); }

Han tomado el ''. ya que parece un error de sintaxis, pero es posible que tenga un motivo legítimo para mantenerlo.

Si el mkdir sigue fallando, podría ser que no existan images / listing-images / rent, tendrá que crearlo por separado si es así.


Ocurre porque no tienes images/listing-images/rent ruta de images/listing-images/rent existentes en tu sistema de archivos.

Si desea crear la ruta completa, solo pase el tercer argumento como true :

mkdir(''images/listing-images/rent/''.$insertID, 0777, true);

También existe la posibilidad de que esté en un directorio equivocado actualmente. Si este es el caso, debe cambiar el directorio actual con chdir() o especificar la ruta completa.



Tienes un error en tu cadena:

mkdir("images/listing-images/rent/''.$insertID.");

debiera ser:

mkdir("images/listing-images/rent/$insertID");


en mi caso, se insertó $ insertID a partir de algunos datos como cadena concatinando

$insertID=$year.$otherId;

Simplemente reescribí el código como este y el error desapareció:

$insertID=(int)($year.$otherId);


  • recursivo Permite la creación de directorios anidados especificados en el nombre de la ruta.
  • pero no funciono para mi !! para eso aquí es lo que se me ocurrió !!
  • y funciona muy perfecto !!

$ upPath = "../uploads/RS/2014/BOI/002"; // ruta completa
$ tags = explode (''/'', $ upPath); // explotar el camino completo
$ mkDir = "";

foreach($tags as $folder) { $mkDir = $mkDir . $folder ."/"; // make one directory join one other for the nest directory to make echo ''"''.$mkDir.''"<br/>''; // this will show the directory created each time if(!is_dir($mkDir)) { // check if directory exist or not mkdir($mkDir, 0777); // if not exist then make the directory } }