Picture upload

purko

Registered
Може ли скрипт за ъплоад на картинки?
Искам да е прост - без регистрации и т.н. Просто да качваш картинки и да ти дава после код за форуми и т.н.
Искам да го ползвам към форума си. Разбира се да има ограничение за размера и ако може оразмеряване и някаква защита да не се качват шелове и т.н
Благодаря! :wink:
 
index.php

Код:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />


<table width="500" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<form action="upload_img.php" method="post" enctype="multipart/form-data" name="form1" id="form1">
<td>
<table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
<tr>
<td><strong>Ъплоудване на снимки</strong></td>
</tr>
<tr>
<td>избор на файл
<input name="file_name" type="file" id="ufile" size="50" /></td>
</tr>
<tr>
<td align="center"><input type="submit" name="submit" value="Качи!" /></td></tr>
</table>
</td>
</form>
</tr>
</table>


upload_img.php


Код:
<meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
<a href="index.php">Начало</a> <br /><br />

<?php
# Името на сайта, или линка :)
define(LOCATION,"http://lupa.zapto.org/pumpal/rename/");

# Папката в която да отиват снимките.
$folder = "images/";

# Размери когато качената снимка, е по-голяма в дължина/широчина
 # от показаните по долу.
 
$width_img_default   = "600";
$height_img_default  = "450";


# В какъв формат да се качват изображенията.
$open_type_upload = ".jpg";

# Различните типове на файловете, които са ни нужни
$file_name       =        $_FILES['file_name']['name'];
$file_tmp        =       $_FILES['file_name']['tmp_name'];
$file_size       =       $_FILES['file_name']['tmp_size'];
$file_type       =       $_FILES['file_name']['type'];


# Избиране на происволно име на файла.
$rand_file_name = rand(1000000000, 9999999999999);

# Новото име на файла
$newfile_name = $rand_file_name.$file_name;


# Позволени типове файлове, които могат да се качват само.
$open_types = array(
                     "image/jpg",
                     "image/jpeg",
                     "image/png",
                     "image/gif"
               );

               
# Aко формата, който качване не е позволен да
 # върне грешка в която да гласи, че има грешка
  # разбирасе ако и единствени възникне
   
if(!in_array($file_type, $open_types)) {
echo "Този формат файл не е позволен!";
}
else {

   

if (file_exists($folder.$rand_file_name.$open_type_upload)) {
echo "Този файл вече съществува. Моля опитайте отново!";
}
else {
   
// Самото качване на снимката
  $upload = move_uploaded_file($file_tmp, $folder.$rand_file_name.$open_type_upload);

 list($width_img, $height_img) = getImagesize($folder.$rand_file_name.$open_type_upload);
 
 
 
# Показване на вече успешно качената картинка / снимка
if ($upload == true) {


   if ($width_img > $width_img_default || $height_img > $height_img_default) {     
   echo '<img src="'.$folder.$rand_file_name.$open_type_upload.'" width="'.$width_img_default.'" height="'.$height_img_default.'">';
   }   
   else {
   echo '<img src="'.$folder.$rand_file_name.$open_type_upload.'">';
   }
   
   
echo '<br /><br /><br />';
echo 'Директен линк към изображението: <br />';
echo '<input type="text" size="60" value="'.LOCATION.$folder.$rand_file_name.$open_type_upload.'">';
 
}


}
}
?>
 
Еми да се избира не, то я оразмерява, когато

Код:
# Размери когато качената снимка, е по-голяма в дължина/широчина
 # от показаните по долу.
 
$width_img_default   = "600";
$height_img_default  = "450";

но ако искаш мога да я едитна да не ги оразмерява :D
 
<?php

echo('Upload images:


<FORM ENCTYPE="multipart/form-data" ACTION="' . $PHP_SELF . '" METHOD="POST">

The file: <INPUT TYPE="file" NAME="userfile">

<INPUT TYPE="submit" VALUE="Upload">

</FORM>');



$path = "C:\AppServ\www\upload\upload";

$max_size = 200000;



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 "The file is too big<br>n"; exit; }

if (($HTTP_POST_FILES['userfile']['type']=="image/gif") || ($HTTP_POST_FILES['userfile']['type']=="image/pjpeg") || ($HTTP_POST_FILES['userfile']['type']=="image/jpeg") || ($HTTP_POST_FILES['userfile']['type']=="image/png")) {



if (file_exists($path . $HTTP_POST_FILES['userfile']['name'])) { echo "The file already exists<br>n"; exit; }



$res = copy($HTTP_POST_FILES['userfile']['tmp_name'], $path .

$HTTP_POST_FILES['userfile']['name']);

if (!$res) { echo "upload failed!<br>n"; exit; } else { echo "upload sucessful<br>n"; }



echo "File Name: ".$HTTP_POST_FILES['userfile']['name']."<br>n";

echo "File Size: ".$HTTP_POST_FILES['userfile']['size']." bytes<br>n";

echo "File Type: ".$HTTP_POST_FILES['userfile']['type']."<br>n";

} else { echo "Wrong file type<br>n"; exit; }

}



$my_file = $HTTP_POST_FILES['userfile']['name'];

?>
 
index.php


Код:
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />


<table width="500" border="0" align="center" cellpadding="0" cellspacing="1" bgcolor="#CCCCCC">
<tr>
<form action="upload_img.php" method="post" enctype="multipart/form-data" name="form1" id="form1">
<td>
<table width="100%" border="0" cellpadding="3" cellspacing="1" bgcolor="#FFFFFF">
<tr>
<td><strong>Ъплоудване на снимки</strong></td>
</tr>
<tr>
<td>избор на файл
<input name="file_name" type="file" id="ufile" size="50" />Оразмеряване : <input type="radio" name="resize"></td>
</tr>
<tr>
<td align="center"><input type="submit" name="submit" value="Качи!" /></td></tr>
</table>
</td>
</form>
</tr>
</table>


upload_img.php


Код:
<meta http-equiv="Content-Type" content="text/html; charset=Windows-1251" />
<a href="index.php">Начало</a> <br /><br />

<?php
# Името на сайта, или линка :)
define(LOCATION,"http://localhost/");

# Папката в която да отиват снимките.
$folder = "images/";

# Размери когато качената снимка, е по-голяма в дължина/широчина
 # от показаните по долу.
$resize=$_POST['resize'];

if (!empty($resize))
{ 
 
$width_img_default   = "600px";
$height_img_default  = "450px";


# В какъв формат да се качват изображенията.
$open_type_upload = ".jpg";

# Различните типове на файловете, които са ни нужни
$file_name       =        $_FILES['file_name']['name'];
$file_tmp        =       $_FILES['file_name']['tmp_name'];
$file_size       =       $_FILES['file_name']['tmp_size'];
$file_type       =       $_FILES['file_name']['type'];


# Избиране на происволно име на файла.
$rand_file_name = rand(1000000000, 9999999999999);

# Новото име на файла
$newfile_name = $rand_file_name.$file_name;


# Позволени типове файлове, които могат да се качват само.
$open_types = array(
                     "image/jpg",
                     "image/jpeg",
                     "image/png",
                     "image/gif"
               );

               
# Aко формата, който качване не е позволен да
 # върне грешка в която да гласи, че има грешка
  # разбирасе ако и единствени възникне
   
if(!in_array($file_type, $open_types)) {
echo "Този формат файл не е позволен!";
}
else {

   

if (file_exists($folder.$rand_file_name.$open_type_upload)) {
echo "Този файл вече съществува. Моля опитайте отново!";
}
else {
   
// Самото качване на снимката
  $upload = move_uploaded_file($file_tmp, $folder.$rand_file_name.$open_type_upload);

 list($width_img, $height_img) = getImagesize($folder.$rand_file_name.$open_type_upload);
 
 
 
# Показване на вече успешно качената картинка / снимка
if ($upload == true) {



   echo '<img src="'.$folder.$rand_file_name.$open_type_upload.'" width="'.$width_img_default.'" height="'.$height_img_default.'">';  

   
   
echo '<br /><br /><br />';
echo 'Директен линк към изображението: <br />';
echo '<input type="text" size="60" value="'.LOCATION.$folder.$rand_file_name.$open_type_upload.'">';

echo '<br /><br /><br />';
echo 'Линк за форум: <br />';
echo '<input type="text" size="60" value="[img]'.LOCATION.$folder.$rand_file_name.$open_type_upload.'[/img]">';


 }
}


}
}





else
{
# Името на сайта, или линка :)
define(LOCATION,"http://localhost/");

# Папката в която да отиват снимките.
$folder = "images/";

# Размери когато качената снимка, е по-голяма в дължина/широчина
 # от показаните по долу.
$resize=$_POST['resize'];

 


# В какъв формат да се качват изображенията.
$open_type_upload = ".jpg";

# Различните типове на файловете, които са ни нужни
$file_name       =        $_FILES['file_name']['name'];
$file_tmp        =       $_FILES['file_name']['tmp_name'];
$file_size       =       $_FILES['file_name']['tmp_size'];
$file_type       =       $_FILES['file_name']['type'];


# Избиране на происволно име на файла.
$rand_file_name = rand(1000000000, 9999999999999);

# Новото име на файла
$newfile_name = $rand_file_name.$file_name;


# Позволени типове файлове, които могат да се качват само.
$open_types = array(
                     "image/jpg",
                     "image/jpeg",
                     "image/png",
                     "image/gif"
               );

               
# Aко формата, който качване не е позволен да
 # върне грешка в която да гласи, че има грешка
  # разбирасе ако и единствени възникне
   
if(!in_array($file_type, $open_types)) {
echo "Този формат файл не е позволен!";
}
else {

   

if (file_exists($folder.$rand_file_name.$open_type_upload)) {
echo "Този файл вече съществува. Моля опитайте отново!";
}
else {
   
// Самото качване на снимката
  $upload = move_uploaded_file($file_tmp, $folder.$rand_file_name.$open_type_upload);
 
 
 
# Показване на вече успешно качената картинка / снимка
if ($upload == true) {

   echo '<img src="'.$folder.$rand_file_name.$open_type_upload.'">';
   
echo '<br /><br /><br />';
echo 'Директен линк към изображението: <br />';
echo '<input type="text" size="60" value="'.LOCATION.$folder.$rand_file_name.$open_type_upload.'">';

echo '<br /><br /><br />';
echo 'Линк за форум: <br />';
echo '<input type="text" size="60" value="[img]'.LOCATION.$folder.$rand_file_name.$open_type_upload.'[/img]">';
}
}
}
}
?>
 
ето може да се намести колко на колко да ги оразмерява .. ти само кажи .. :)

Едит : Какво стана ??
 
на мен ми трябва същия скрипт само че да могат да се качват няколко картинки едновременно и имената с които се записват на хостинга да се записват с sql
 
justspy каза:
ето може да се намести колко на колко да ги оразмерява .. ти само кажи .. :)

Едит : Какво стана ??
Еми нищо не стана - ти кажи. Този код ги оразмерява неподходящо. Няма да ги оразмерява пропорционално. Искам ширината да е 600рх а височината да е такава, че да се запази пропорцията на картинката :wink:
 
ако ми кажеш колко е това добре ще е .. аз незнам :) казваш ми искам ширина 600px и височина едисиколко пихела и ти давам кода :)
 
justspy каза:
ако ми кажеш колко е това добре ще е .. аз незнам :) казваш ми искам ширина 600px и височина едисиколко пихела и ти давам кода :)
Или ти не разбираш нещо или аз не обяснявам като хората...
Пропорционално означава, че една картинка ще бъде примерно 600х400 а друга 600х200 и това зависи от оригинала :wink:
Ама не мога да го направя да изчислява кога с колко да го намали :lol:
 
човек виж даже http://picbg.net/ се оразмерява с ръчно въведени стойности .. ако ми кажеш каква трябва да е пропорцията между пикселите ..
 
Остови ти тоя сайт. Преди имах такъв код ама го изгубих. Смаляваше картинката пропорционално, а не със предварително въведени стойности, защото така може да разтегне или точно обратното някоя картинка и става грозно :wink:
 

Back
Горе