Hola una pregunta hay alguna forma de subir un archivo al servidor y colocarlo en una carpeta especifica sin usar el nombre temporal, debido a que el servidor que uso tiene ciertas restricciones, lo cual no me deja tocar el temp.
Gracias.
| |||
Upload File Hola una pregunta hay alguna forma de subir un archivo al servidor y colocarlo en una carpeta especifica sin usar el nombre temporal, debido a que el servidor que uso tiene ciertas restricciones, lo cual no me deja tocar el temp. Gracias. |
| |||
nops no me funca este es el error que me tira Warning: move_uploaded_file(15-01-05_1840.jpg): failed to open stream: Permission denied in /home/promo2k3/public_html/subirformulario.php on line 9 Warning: move_uploaded_file(): Unable to move '/tmp/php5KhI69' to '15-01-05_1840.jpg' in /home/promo2k3/public_html/subirformulario.php on line 9 Warning: filemtime(): Stat failed for 15-01-05_1840.jpg (errno=2 - No such file or directory) in /home/promo2k3/public_html/subirformulario.php on line 11 Warning: touch(): open_basedir restriction in effect. File(/temp) is not within the allowed path(s): (/home/promo2k3:/usr/lib/php:/usr/local/lib/php:/tmp) in /home/promo2k3/public_html/subirformulario.php on line 11 |
| ||||
<input type="hidden" name="MAX_FILE_SIZE" value="1000"> ese valor es en bytes si no me equivoco, asi que el tamaño maximo de archivo es de 1kb, ponele un valor mas alto. y ademas, el directorio de upload tiene que tener permiso de escritura, hacele un chmod a 777 |
| ||||
Lo que hace ese script es primero subir el archivo a una carpeta temporal y posteriormente (si se subió) moverla a la carpeta final. Precisamente con is_uploaded_file($_FILES['userfile']['tmp_name'])) verificas que se haya subido a la carpeta temporal... ve que también le cambia el nombre al archivo en esa carpeta: ['archivo']['tmp_name']... vaya!... creo haber entendido que el problema precisamente era que no se podian subir archivos de este forma... Así que... la verdad dudo que puedas hacerlo... copy()?... no, debe hacer solo lo equivalente a move_uploaded_file() ... creo no se podrá ... Suerte!, ojalá me equivoque. Edito: Si haces un phpinfo() ¿cómo esta el estado de file_uploads?
__________________ ٩(͡๏̯͡๏)۶ "100 años después, la revolución no es con armas, es intelectual y digital" Última edición por jam1138; 11/04/2005 a las 19:36 |
| |||
Según este error: Cita: Por restricción de esa directiva (open_basedir) tal vez por el uso de "safe_mode" no está permitido hacer "upload" de archivos (que ya parece que está configurado: upload_tmp_dir = /tmp ) en ese servidor ... Warning: touch(): open_basedir restriction in effect. File(/temp) is not within the allowed path(s): (/home/promo2k3:/usr/lib/php:/usr/local/lib/php:/tmp) in /home/promo2k3/public_html/subirformulario.php on line 11 Consulta a tu proveedor si no eres tu por esas restricciones .. en teoría deberían añadir a esa directiva (open_basedir) la ruta /tmp o la que definan para los "upload's" vía HTTP de PHP. Podrías probar también a "forzar" donde quieres que PHP suba los archivos temporales. Create una carptea sobre el public_html/ (para que quede fuera del alcance de una llamada por http:// (que es donde apunta el "document_root" de tu servidor HTTP normalmente). Por ejemplo "mis_uploads" Código PHP: Código PHP: |
| |||
En realidad, tambien estoy con el mismo problema, pero ahora a mi me sale el siguiente error aun cuando hice lo que dijiste en el anterior mensaje a este: Warning: copy(): open_basedir restriction in effect. File(/home/intimat/public_html/attachments/OlgaSoache-5383.jpg) is not within the allowed path(s): (/home/intimat/:/usr/lib/php:/usr/local/lib/php:/tmp) in /home2/intimat/public_html/site/job/index.php on line 80 Creo que no podré hacer nada con upload images, como quien dice hacerlo en la misma carpeta....
__________________ Ahora T4X es WinGFX!!!!! |
| |||
Creo que con el anterior mensaje, si se fijan aparece una ruta distinta a la otra, el archivo según la variable $_SERVER['DOCUMENT_ROOT'] me devuelve /home/intimat/public_html/ Pero al procesar el script aparece como error de variable $_SERVER['DOCUMENT_ROOT'] es /home2/intimat/public_html. Ahora si quedé loco....
__________________ Ahora T4X es WinGFX!!!!! |