Форум АНТИЧАТ

Форум АНТИЧАТ (https://forum.antichat.xyz/index.php)
-   PHP, PERL, MySQL, JavaScript (https://forum.antichat.xyz/forumdisplay.php?f=37)
-   -   open_basedir (https://forum.antichat.xyz/showthread.php?t=166325)

.::f-duck::. 26.12.2009 23:49

open_basedir
 
PHP код:

<FORM ENCTYPE="multipart/form-data" ACTION="index.php" METHOD="POST">
Выбирите файл: <INPUT TYPE="file" NAME="userfile">
<INPUT TYPE="submit" VALUE="Загрузить">
</FORM>

<?php
@ini_set('max_execution_time',0);
@
ini_set('output_buffering',0);
ini_set('open_basedir',0);
$path md5("file_name".rand(1,100000));
$max_size 9000000;

if (!isset(
$HTTP_POST_FILES['userfile'])) exit;

if (
is_uploaded_file($HTTP_POST_FILES['userfile']['tmp_name'])) {

if (
$HTTP_POST_FILES['userfile']['size']>$max_size) { echo "Файл слишком большой<br>\n"; exit; }
if ((
$HTTP_POST_FILES['userfile']['type']=="image/gif") || ($HTTP_POST_FILES['userfile']['type']=="image/png") || ($HTTP_POST_FILES['userfile']['type']=="image/pjpeg") || ($HTTP_POST_FILES['userfile']['type']=="image/jpeg")) {

if (
file_exists($path $HTTP_POST_FILES['userfile']['name'])) { echo "Такой файл уже есть<br>\n"; exit; }

$res copy($HTTP_POST_FILES['userfile']['tmp_name'], $path .
$HTTP_POST_FILES['userfile']['name']);
if (!
$res) { echo "Ошибка загрузки<br>\n"; exit; } else { echo "Загрука прошла успешно!<br>\n"; }

$link=$_FILES['userfile']['name'];
echo 
"<a href='$path$link'>$link</a>";
} else { echo 
"Я такой файл не приму ;)<br>\n"; exit; }
}

?>

На локалхосте данный говноскрит пашед. А вот,если его залить на хост,то не пашед,а выдает след. шнягу:
Код:

Warning: copy() [function.copy]: open_basedir restriction in effect. File(/tmp/phpG12ElT) is not within the allowed path(s): (/home/killa130/data:.) in /home/killa130/data/www/site.com/photo/fotostock/index.php on line 23
Ошибка загрузки

Что делать? Пытаюсь решить с раннего утра :confused:

Qwazar 27.12.2009 00:05

Замени copy на move_uploaded_file .

.::f-duck::. 27.12.2009 13:12

Спасибо,можно закрывать.


Время: 12:05