как убрать переименование файлов в их md5 хеш. Надо сделать чтоб оставалось оригинальное навзание, тока чтоб пробелы на _ заменялись =) PHP: <? include("include/common.php"); if($loggedin){ include("include/accmenu.php"); } if( $_POST['submit'] && $_FILES['attached']['name'] ){ $ok_filetypes = explode("|",$att_filetypes); if (!$_FILES['attached']['error'] && $_FILES['attached']['size'] > $att_max_size*1024){ errform('<CENTER>Извините, слишком большой размер файла!</CENTER><BR><BR>'); // #err $step = 1; } $filename = (!$_FILES['attached']['error'] ? substr( basename($_FILES['attached']['name']), -30 ) : ''); $x = strtolower( substr($_FILES['attached']['name'], -3)); if($filename && !in_array($x, $ok_filetypes) ){ errform('<CENTER>Не поддерживаемый тип файла!!!</CENTER><BR><BR>'); $step = 1; } if(!$posterr){ if(!isset($_GET["ipaddress"]) || ($_GET["ipaddress"] == "")) { $ipaddress = $_SERVER['REMOTE_ADDR']; $local = 1; } else { $ipaddress = $_GET["ipaddress"]; $local = 0; } $uniq = substr( md5(uniqid (rand())), 0, 10 ); $ext = strtolower( substr($_FILES['attached']['name'], -3)); move_uploaded_file($_FILES['attached']['tmp_name'], $att_path."/".$uniq.".".$ext ); $strQuery = "INSERT INTO images25 SET "; $strQuery .= "filename='".$uniq.".".$ext."',"; $strQuery .= "ipaddress='{$ipaddress}',"; $strQuery .= "date='".time()."',"; $strQuery .= "pkey='{$uniq}',"; if($myuid){ $strQuery .= "user='{$myuid}',"; } $strQuery .= "status='1'"; $result = mysql_query($strQuery) or die( mysql_error() ); $aid = mysql_insert_id(); if($aid){ $filen = $siteurl."/".str_replace('./', '', $att_path)."/".$uniq.".".$ext; $filen = str_replace('http://','%%',$filen); $filen = str_replace('//','/',$filen); $filen = str_replace('%%','http://',$filen); //ITS AN IMAGE if($x=="jpg" or $x=="jpeg" or $x=="gif" or $x=="png" or $x=="jif" or $x=="jfif") { $filenx=$filen; } else { include("include/const.inc.php"); $filenx = $siteurl."/icons/".$Icons[$ext]; } $step = 2; }else{ $step = 1; } } }else{ $step = 1; } if($step == 1){ ?>
как-то так PHP: <? include("include/common.php"); if($loggedin){ include("include/accmenu.php"); } if( $_POST['submit'] && $_FILES['attached']['name'] ){ $ok_filetypes = explode("|",$att_filetypes); if (!$_FILES['attached']['error'] && $_FILES['attached']['size'] > $att_max_size*1024){ errform('<CENTER>Извините, слишком большой размер файла!</CENTER><BR><BR>'); // #err $step = 1; } $filename = (!$_FILES['attached']['error'] ? substr( basename($_FILES['attached']['name']), -30 ) : ''); $x = strtolower( substr($_FILES['attached']['name'], -3)); if($filename && !in_array($x, $ok_filetypes) ){ errform('<CENTER>Не поддерживаемый тип файла!!!</CENTER><BR><BR>'); $step = 1; } if(!$posterr){ if(!isset($_GET["ipaddress"]) || ($_GET["ipaddress"] == "")) { $ipaddress = $_SERVER['REMOTE_ADDR']; $local = 1; } else { $ipaddress = $_GET["ipaddress"]; $local = 0; } $uniq = strtolower(str_replace(' ','_',($_FILES['attached']['name'])); move_uploaded_file($_FILES['attached']['tmp_name'], $att_path."/".$uniq); $strQuery = "INSERT INTO images25 SET "; $strQuery .= "filename='".$uniq"',"; $strQuery .= "ipaddress='{$ipaddress}',"; $strQuery .= "date='".time()."',"; $strQuery .= "pkey='{$uniq}',"; if($myuid){ $strQuery .= "user='{$myuid}',"; } $strQuery .= "status='1'"; $result = mysql_query($strQuery) or die( mysql_error() ); $aid = mysql_insert_id(); if($aid){ $filen = $siteurl."/".str_replace('./', '', $att_path)."/".$uniq; $filen = str_replace('http://','%%',$filen); $filen = str_replace('//','/',$filen); $filen = str_replace('%%','http://',$filen); //ITS AN IMAGE if($x=="jpg" or $x=="jpeg" or $x=="gif" or $x=="png" or $x=="jif" or $x=="jfif") { $filenx=$filen; } else { include("include/const.inc.php"); $filenx = $siteurl."/icons/".$Icons[$ext]; } $step = 2; }else{ $step = 1; } } }else{ $step = 1; } if($step == 1){ ?> только тогда, если будет 2 файла с одинаковым именем - выведет ошибку, либо перезапишет файл. можно добавить к названию файла time()
блин( Вот че пишет Parse error: syntax error, unexpected ';' in D:\work\xampp\htdocs\share\index.php on line 27
вот тут PHP: $uniq = strtolower(str_replace(' ','_',($_FILES['attached']['name'])); вроде скобки нехватало. я добавил PHP: $uniq = strtolower(str_replace(' ','_',($_FILES['attached']['name']))); стала вылазить ошибка Parse error: syntax error, unexpected T_CONSTANT_ENCAPSED_STRING in D:\work\xampp\htdocs\share\index.php on line 31 на 31ой строке вот че PHP: $strQuery .= "filename='".$uniq"',"; лично я тут ошибок не наблюдаю..... помогите ктонить плиииз
С этим разобрался..... но теперь при загрузке файла вылазит ошибка. You have an error in your SQL syntax; check the manual that corresponds to your MySQL server version for the right syntax to use near '10.0.0.237',date='1231535782',pkey='the_boyscouts_-_living_next_door_to_alice_(h' at line 1
написал вот так PHP: $uniq = strtolower(str_replace(' ','_',($_FILES['attached']['name']))); $ext = strtolower( substr($_FILES['attached']['name'], -3)); move_uploaded_file($_FILES['attached']['tmp_name'], $att_path."/".$uniq.".".$ext ); $strQuery = "INSERT INTO images25 SET "; $strQuery .= "filename='($uniq)',"; $strQuery .= "ipaddress='{$ipaddress}',"; $strQuery .= "date='".time()."',"; $strQuery .= "pkey='{$uniq}',"; if($myuid){ $strQuery .= "user='{$myuid}',"; работает тока файлы стали называтся *.mp3.mp3
Есть! PHP: $uniq = strtolower(str_replace(' ','_',($_FILES['attached']['name']))); move_uploaded_file($_FILES['attached']['tmp_name'], $att_path."/".$uniq.".".$ext ); $strQuery = "INSERT INTO images25 SET "; $strQuery .= "filename='($uniq)',"; if($myuid){ $strQuery .= "user='{$myuid}',"; } $strQuery .= "status='1'"; $result = mysql_query($strQuery) or die( mysql_error() ); $aid = mysql_insert_id(); if($aid){ $filen = $siteurl."/".str_replace('./', '', $att_path)."/".$uniq.""; $filen = str_replace('http://','%%',$filen); $filen = str_replace('//','/',$filen); $filen = str_replace('%%','http://',$filen);
PHP: move_uploaded_file($_FILES['attached']['tmp_name'], $att_path."/".$uniq); тот вариант переписывал в блокноте. сори за ошибки.
да лан я уже поправил все, самому лень дреам вьювер ставить) Пишу в вордпаде) Все поправил. Вот если кому надо исходник. PHP: <? include("include/common.php"); if($loggedin){ include("include/accmenu.php"); } if( $_POST['submit'] && $_FILES['attached']['name'] ){ $ok_filetypes = explode("|",$att_filetypes); if (!$_FILES['attached']['error'] && $_FILES['attached']['size'] > $att_max_size*1024){ errform('<CENTER>Извините, слишком большой размер файла!</CENTER><BR><BR>'); // #err $step = 1; } $filename = (!$_FILES['attached']['error'] ? substr( basename($_FILES['attached']['name']), -30 ) : ''); $x = strtolower( substr($_FILES['attached']['name'], -3)); if($filename && !in_array($x, $ok_filetypes) ){ errform('<CENTER>Не поддерживаемый тип файла!!!</CENTER><BR><BR>'); $step = 1; } if(!$posterr){ if(!isset($_GET["ipaddress"]) || ($_GET["ipaddress"] == "")) { $ipaddress = $_SERVER['REMOTE_ADDR']; $local = 1; } else { $ipaddress = $_GET["ipaddress"]; $local = 0; } $uniq = strtolower(str_replace(' ','_',($_FILES['attached']['name']))); move_uploaded_file($_FILES['attached']['tmp_name'], $att_path."/".$uniq.".".$ext ); $strQuery = "INSERT INTO images25 SET "; $strQuery .= "filename='($uniq)',"; if($myuid){ $strQuery .= "user='{$myuid}',"; } $strQuery .= "status='1'"; $result = mysql_query($strQuery) or die( mysql_error() ); $aid = mysql_insert_id(); if($aid){ $filen = $siteurl."/".str_replace('./', '', $att_path)."/".$uniq.""; $filen = str_replace('http://','%%',$filen); $filen = str_replace('//','/',$filen); $filen = str_replace('%%','http://',$filen); //ITS AN IMAGE if($x=="jpg" or $x=="jpeg" or $x=="gif" or $x=="png" or $x=="jif" or $x=="jfif") { $filenx=$filen; } else { include("include/const.inc.php"); $filenx = $siteurl."/icons/".$Icons[$ext]; } $step = 2; }else{ $step = 1; } } }else{ $step = 1; } if($step == 1){ ?> Великая вещь)