Качване на аватар? +1

Създай си една папка images и това е ..

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://localhost/");

# Папката в която да отиват снимките.
$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.'">';
 
}


}
}
?>
:?:
 
А защо ми изписва грешка при качването?
Код:
Warning: move_uploaded_file(avatar/1231997565.gif) [function.move-uploaded-file]: failed to open stream: No such file or directory in C:\xampp\htdocs\fast\upload_img.php on line 61

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move 'C:\xampp\tmp\php230.tmp' to 'avatar/1231997565.gif' in C:\xampp\htdocs\fast\upload_img.php on line 61

Warning: getimagesize(avatar/1231997565.gif) [function.getimagesize]: failed to open stream: No such file or directory in C:\xampp\htdocs\fast\upload_img.php on line 63
[/code]
 
Защото папката нетрябва да се казва avatar ето замести стария код в 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://localhost/");

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

# Размери когато качената снимка, е по-голяма в дължина/широчина
 # от показаните по долу.
 
$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.'">';
 
}


}
}
?>
 
Идеално! А сега как може да я направя аватар и да се вижда в профила ми? В смисъл всеки потребител да може да си качва картинки и да отиват направо в профила като аватар...
 
Кажи таблицата с потребителите, тоест където се записват потребителите, и полето където се записва аватарите ? ако нямаш такова създай едно avatar, ако имаш кажи как се казва :?:
 
Код:
<meta http-equiv="Content-Type" content="text/html; charset=windows-1251" />
<a href="index.php">Начало</a> <br /><br />

<?php



include "config.php";


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

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

# Размери когато качената снимка, е по-голяма в дължина/широчина
 # от показаните по долу.
 
$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) {
$user="admin";
$av=$folder.$rand_file_name.$open_type_upload;
mysql_query("UPDATE `users` SET `avatar` = '$av' WHERE `username` = '$user'") or die(mysql_error());

   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.'">';
 
}


}
}
?>
 

Back
Горе