hugi
Новичок
Загрузка файлов
Я тут делаю движок и вот на нем захотел грузить несколько файлов сразу. Форма состоит из поля для ввода текста, кнопки вставить и input для загрузки файлов. Пользователь выбирает файл клацает вставить, в поле вставляется текст типа [file]путь к фалу[/file]. Потом я нохожу все имена и в цикле гружу с помощью copy. На локальном сервере грузит, выложил в net не грузит.
Примерная строка
Комментарий[file]D:\av.jpg[/file][file]D:\avatar.jpg[/file][file]D:\avatar.jpg[/file]
Вот код
if ($act=="add_photo"){
$text=str_clr($_POST["text"]);
$tb=substr($_GET["tb"],0,10);
$zag=str_clr($_POST["zag"]);
$k=substr($_GET["w"],0,10);
$dt=date("Y-m-d H-i-s",time());
echo $text;
if (preg_match_all("/\[file\][а-я0-9a-z\.:\\\\\/]*\[\/file\]/i",$text,$f)){echo "true";}
foreach ($f[0] as $in=>$val){
echo $val;
$val=str_replace("[file]","",$val);
$val=str_replace("[/file]","",$val);
preg_match("/\.[a-z]{3}/i",$val,$tp);
if (($tp[0]==".jpg")||($tp[0]==".gif")){
$hash = md5($val.rand(0, 999999).microtime());
echo $val;
copy("$val","photo/$hash$tp[0]");
if (($tp[0]==".jpg")||($tp[0]=".gif")){
$sizep=getimagesize("$val");
if (($sizep[0]<500)&&($sizep[1]<500)){
$text=str_replace($f[0][$in],"<img src=\"photo/$hash$tp[0]\" width=\"$sizep[0]\" height=\"$sizep[1]\">",$text);} } } }
if (mysql_query("INSERT INTO era_photo(zag,comm,author,dt) values('$zag','$text','".$_SESSION["name"]."','$dt')")){
$q=mysql_num_rows(mysql_query("SELECT id FROM era_photo WHERE 1"))-1;
mysql_query("UPDATE era_photo SET zag='$q' WHERE id=1");
echo "Фотография(ии) добавлена(ы) <br><a href=\"index.php?act=photo&k=$k\">Все фото</a>";}
else {
echo "Фотография(ии) не добавлена(ы) <br><a href=\"index.php?act=photo&k=$k\">Все фото</a>";}
}
Почему не грузит? и вообще можно ли так загрузит? Если можно так как?
P.S. Обычно методом грузит нормально.
Я тут делаю движок и вот на нем захотел грузить несколько файлов сразу. Форма состоит из поля для ввода текста, кнопки вставить и input для загрузки файлов. Пользователь выбирает файл клацает вставить, в поле вставляется текст типа [file]путь к фалу[/file]. Потом я нохожу все имена и в цикле гружу с помощью copy. На локальном сервере грузит, выложил в net не грузит.
Примерная строка
Комментарий[file]D:\av.jpg[/file][file]D:\avatar.jpg[/file][file]D:\avatar.jpg[/file]
Вот код
if ($act=="add_photo"){
$text=str_clr($_POST["text"]);
$tb=substr($_GET["tb"],0,10);
$zag=str_clr($_POST["zag"]);
$k=substr($_GET["w"],0,10);
$dt=date("Y-m-d H-i-s",time());
echo $text;
if (preg_match_all("/\[file\][а-я0-9a-z\.:\\\\\/]*\[\/file\]/i",$text,$f)){echo "true";}
foreach ($f[0] as $in=>$val){
echo $val;
$val=str_replace("[file]","",$val);
$val=str_replace("[/file]","",$val);
preg_match("/\.[a-z]{3}/i",$val,$tp);
if (($tp[0]==".jpg")||($tp[0]==".gif")){
$hash = md5($val.rand(0, 999999).microtime());
echo $val;
copy("$val","photo/$hash$tp[0]");
if (($tp[0]==".jpg")||($tp[0]=".gif")){
$sizep=getimagesize("$val");
if (($sizep[0]<500)&&($sizep[1]<500)){
$text=str_replace($f[0][$in],"<img src=\"photo/$hash$tp[0]\" width=\"$sizep[0]\" height=\"$sizep[1]\">",$text);} } } }
if (mysql_query("INSERT INTO era_photo(zag,comm,author,dt) values('$zag','$text','".$_SESSION["name"]."','$dt')")){
$q=mysql_num_rows(mysql_query("SELECT id FROM era_photo WHERE 1"))-1;
mysql_query("UPDATE era_photo SET zag='$q' WHERE id=1");
echo "Фотография(ии) добавлена(ы) <br><a href=\"index.php?act=photo&k=$k\">Все фото</a>";}
else {
echo "Фотография(ии) не добавлена(ы) <br><a href=\"index.php?act=photo&k=$k\">Все фото</a>";}
}
Почему не грузит? и вообще можно ли так загрузит? Если можно так как?
P.S. Обычно методом грузит нормально.