няколко еднакви upload скрипта не работят

crystalline

Registered
имам следният ъплоуд скрипт (upload1.php по-долу)
както си личи от кода качвам снимките в папка yaila, скрипта си прави файл log1.txt...имам и gal1.php, който зарежда снимките от папката. скрипта за ъплоуд работи - качва и трие снимки.

на мен обаче ми се налага да качвам снимки не само в папка yaila, но и в още 5 папки...за който съответно ще ми трябват същия ъплоуд скрит, но с променен път къде да качва. на теория да. правя по едно копие от всеки един файл и папката със снимки, променям имената с една цифра разлика, после коригирам пътищата вътре...и копие-то ъплоудва, но не трие снимка...

примерно в Indef of / имам:
веднъж gal1.php, upload1.php, log1.txt -> папка yaila (ъплоуд и триене)

и втори път същите файлове, но с променени имена и пътища вътре в тях: gal2.php, upload2.php, log2.txt -> папка yailaprim (ъплоуд, но не трие)

въпросът е защо не трие !?

нагледно: http://yailata.info/ygallery/
не се притеснявайте да качвате, триете и ползвате...ее, при тва що е индекс 2 няма да можете да триете...

аз питам - как мога да изтривам и във втората галерия ? защо не се получава ? адски странно ми се вижда два еднакви файла с променени имена да не функционират...

upload1.php
Код:
<link rel="stylesheet" type="text/css" href="style/style.css" />
<?php
// Максимална големина на файла за качване (сега е 2 ГБ)
$MAX_SIZE = 268435456;


$FILE_EXTS = array('.zip','.jpg','.png','.gif','.doc','.avi','.sub');


// Възможност за триене на качени файлове. При TRUE - може да се трият, при FALSE - не.
$DELETABLE = TRUE;



$site_name = $_SERVER['HTTP_HOST'];
$url_dir = "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']);
$url_this = "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];

$upload_dir = "yaila/";
$upload_url = $url_dir."/yaila/";
$message ="";


if (!is_dir("yaila")) {
if (!mkdir($upload_dir))
die ("upload_files директорията не съществува и създаването й е невъзможно.");
if (!chmod($upload_dir,0755))
die (" Трябва да промените файловите атрибути от стойност 755 на 777.");
}


if ($_REQUEST[del] && $DELETABLE) {
$resource = fopen("log1.txt","a");
fwrite($resource,date("Ymd h:i:s")."DELETE - $_SERVER[REMOTE_ADDR]"."$_REQUEST[del]\n");
fclose($resource);

if (strpos($_REQUEST[del],"/.")>0);
else if (strpos($_REQUEST[del],$upload_dir) === false);
else if (substr($_REQUEST[del],0,6)==$upload_dir) {
unlink($_REQUEST[del]);
print "<script>window.location.href='$url_this?message=Файлът е премахнат успешно!<br>'</script>";
}
}
else if ($_FILES['userfile']) {
$resource = fopen("log1.txt","a");
fwrite($resource,date("Ymd h:i:s")."UPLOAD - $_SERVER[REMOTE_ADDR]"
.$_FILES['userfile']['name']." "
.$_FILES['userfile']['type']."\n");
fclose($resource);

$file_type = $_FILES['userfile']['type'];
$file_name = $_FILES['userfile']['name'];
$file_ext = strtolower(substr($file_name,strrpos($file_name,".")));

// Ако променята макс. големина на качващия се файл променети и по-долното съобщение.
if ( $_FILES['userfile']['size'] > $MAX_SIZE)
$message = "Този файл е над 2 GB.";

else if (!in_array($file_ext, $FILE_EXTS))
$message = "Извинете, $file_name($file_type) не може да се качи (файла не е поддържан).";
else
$message = do_upload($upload_dir, $upload_url);

print "<script>window.location.href='$url_this?message=$message'</script>";
}
else if (!$_FILES['userfile']);
else
$message = "Невалиден формат.";


$handle=opendir($upload_dir);
$filelist = "";
while ($file = readdir($handle)) {
if(!is_dir($file) && !is_link($file)) {
$filelist .= "<a href='$upload_dir$file'>".$file."</a> - URL: <b>$upload_url$file</b>";
if ($DELETABLE)

$filelist .= " Качен на ".date("d-m H:i", filemtime($upload_dir.$file))
."";
$filelist .= " <a style='text-decoration:none; font-weight:bold' href='?del=$upload_dir".urlencode($file)."' title='delete'> x </a>";
$filelist .="<br>";
}
}

function do_upload($upload_dir, $upload_url) {

$temp_name = $_FILES['userfile']['tmp_name'];
$file_name = $_FILES['userfile']['name'];
$file_name = str_replace("\\","",$file_name);
$file_name = str_replace("'","",$file_name);
$file_path = $upload_dir.$file_name;


if ( $file_name =="") {
$message = "Грешно име";
return $message;
}

$result = move_uploaded_file($temp_name, $file_path);
if (!chmod($file_path,0777))
$message = "change permission to 777 failed.";
else
$message = ($result)?"$file_name е качен успешно." :
"Има грешка с избрания файл.";
return $message;
}

?>
<html>
<head>
<title>Форма за качване</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<link rel=stylesheet href=style.css>
</head>
<body>
<center>
<br><br>
  <a href="home.php">Индекс</a> | <a href="gal1.php">Върни се обратно 
  в галерията</a><br>
  <br>
  <font color=red>
  <?=$_REQUEST[message]?>
  </font> <br>
<form name="upload" id="upload" ENCTYPE="multipart/form-data" method="post">
Качи файл <input type="file" id="userfile" name="userfile">
<input type="submit" name="upload" value="Upload">
</form>
<br><b><u>Качени файлове:</b></u><br><br>
По-долу е индексирането на файлове:
<?=$filelist?>
</sup></small>
</center>
[/list]
 
crystalline каза:
upload1.php

<link rel="stylesheet" type="text/css" href="style/style.css" />
<?php
// Максимална големина на файла за качване (сега е 2 ГБ)
$MAX_SIZE = 268435456;


$FILE_EXTS = array('.zip','.jpg','.png','.gif','.doc','.avi','.sub');


// Възможност за триене на качени файлове. При TRUE - може да се трият, при FALSE - не.
$DELETABLE = TRUE;



$site_name = $_SERVER['HTTP_HOST'];
$url_dir = "http://".$_SERVER['HTTP_HOST'].dirname($_SERVER['PHP_SELF']);
$url_this = "http://".$_SERVER['HTTP_HOST'].$_SERVER['PHP_SELF'];

$upload_dir = "yaila/";
$upload_url = $url_dir."/yaila/";
$message ="";


if (!is_dir("yaila")) {
if (!mkdir($upload_dir))
die ("upload_files директорията не съществува и създаването й е невъзможно.");
if (!chmod($upload_dir,0777))
die (" Трябва да промените файловите атрибути от стойност 755 на 777.");
}


if ($_REQUEST[del] && $DELETABLE) {
$resource = fopen("log1.txt","a");
fwrite($resource,date("Ymd h:i:s")."DELETE - $_SERVER[REMOTE_ADDR]"."$_REQUEST[del]\n");
fclose($resource);

if (strpos($_REQUEST[del],"/.")>0);
else if (strpos($_REQUEST[del],$upload_dir) === false);
else if (substr($_REQUEST[del],0,6)==$upload_dir) {
unlink($_REQUEST[del]);
print "<script>window.location.href='$url_this?message=Файлът е премахнат успешно!<br>'</script>";
}
}
else if ($_FILES['userfile']) {
$resource = fopen("log1.txt","a");
fwrite($resource,date("Ymd h:i:s")."UPLOAD - $_SERVER[REMOTE_ADDR]"
.$_FILES['userfile']['name']." "
.$_FILES['userfile']['type']."\n");
fclose($resource);

$file_type = $_FILES['userfile']['type'];
$file_name = $_FILES['userfile']['name'];
$file_ext = strtolower(substr($file_name,strrpos($file_name,".")));

// Ако променята макс. големина на качващия се файл променети и по-долното съобщение.
if ( $_FILES['userfile']['size'] > $MAX_SIZE)
$message = "Този файл е над 2 GB.";

else if (!in_array($file_ext, $FILE_EXTS))
$message = "Извинете, $file_name($file_type) не може да се качи (файла не е поддържан).";
else
$message = do_upload($upload_dir, $upload_url);

print "<script>window.location.href='$url_this?message=$message'</script>";
}
else if (!$_FILES['userfile']);
else
$message = "Невалиден формат.";


$handle=opendir($upload_dir);
$filelist = "";
while ($file = readdir($handle)) {
if(!is_dir($file) && !is_link($file)) {
$filelist .= "<a href='$upload_dir$file'>".$file."</a> - URL: <b>$upload_url$file</b>";
if ($DELETABLE)

$filelist .= " Качен на ".date("d-m H:i", filemtime($upload_dir.$file))
."";
$filelist .= " <a style='text-decoration:none; font-weight:bold' href='?del=$upload_dir".urlencode($file)."' title='delete'> x </a>";
$filelist .="<br>";
}
}

function do_upload($upload_dir, $upload_url) {

$temp_name = $_FILES['userfile']['tmp_name'];
$file_name = $_FILES['userfile']['name'];
$file_name = str_replace("","",$file_name);
$file_name = str_replace("'","",$file_name);
$file_path = $upload_dir.$file_name;


if ( $file_name =="") {
$message = "Грешно име";
return $message;
}

$result = move_uploaded_file($temp_name, $file_path);
if (!chmod($file_path,0777))
$message = "change permission to 777 failed.";
else
$message = ($result)?"$file_name е качен успешно." :
"Има грешка с избрания файл.";
return $message;
}

?>
<html>
<head>
<title>Форма за качване</title>
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251">
<link rel=stylesheet href=style.css>
</head>
<body>
<center>
<br><br>
<a href="home.php">Индекс</a> | <a href="gal1.php">Върни се обратно
в галерията</a><br>
<br>
<font color=red>
<?=$_REQUEST[message]?>
</font> <br>
<form name="upload" id="upload" ENCTYPE="multipart/form-data" method="post">
Качи файл <input type="file" id="userfile" name="userfile">
<input type="submit" name="upload" value="Upload">
</form>
<br><b><u>Качени файлове:</b></u><br><br>
По-долу е индексирането на файлове:
<?=$filelist?>
</sup></small>
</center>

Пробвай така и ако не стане трябва да си направиш самите папки на 777, за да могат да бъдат променяни от други
 
ууффф...да, аз съм забравил 777 да задам..

но не в това ми е проблема де
става дума, че не работи на локалхост

къде е промянато в скрипта ?
не знам защо но си мисля, че проблема идва от log.txt
 
Знаеш ли какво влез в http://filebox.freehostia.com и си копирай кода от някоя от страниците или направо си го свали от този линк http://filebox.freehostia.com/images/upload.php
 
мисля че не ме разбирате.

при мен скрипта си работи идеално - качва и трие, не ми е ясно защо когато направя негово копие, което да ползвам за ъплоуд в друга папка, не мога да трия. качвам, но не мога да трия.

това, което съм обеснил в първия пост...

сега ще погледна дали става дума за същия ъплоуд скрипт или подобен.

та..трябва ми скрипт, който да може да качва и трие качените файлове, да има индексиране..в никакъв случай не държа на този пример, който аз имам.

или аз съм много глупав и не мога да направя 2 работешти копия или бъркам нещо...
 
porostorm каза:
http://porostorm.gotdns.com/upload/4/ft2.php

User: user
Pass: pass

Разгледай го!

porostrom, благодаря ти, но това неми върши работа...папките ок - но пък не видях нещо индексиране...както и да е...

аз отново се пробвах...и пак стигам до извода, че поблема и в тези лог файлове...идеята е че имам няколко ъплоуд скрипта в една папка, разбира се са с различни имена ( плюс 1, 2, 3) и съответно различни лог файлове...само един от скриптовете обаче може да трие... WTF !? :shock: :cry: :o

т.е. без :o .... та, давайте идеи...що така стана...хъх...
 
crystalline каза:
porostrom, благодаря ти, но това неми върши работа...папките ок - но пък не видях нещо индексиране...както и да е...
Как, че няма индексиране :!:
 
има...аз съм гледал няква празна папка...

иначе не ми върши работа..смисъл, система си е ок,3 добра е...но е готова...а нямам време да я разглеждам, пренаписвам и т.н.
благодаря ти все пак

въпросите остават
 

Back
Горе