Ъплоудване на файлове в папка

mitaka961

Registered
Здравейте в сайта си имам една папка upload и искам съвсем просто да си направя и една страничка в която да имам една формичка за качване на файлове, тоест "разглеждане" и като натисна качи файла да се качва в папката upload :) Благодаря предварително на този който ми помогне :)
 
Трябва да избереш в какви формати може да са файловете и след това си правиш функция
 
Трябва ми само в .PNG формат, но може ли някой да ми даде код за страничката със ъплоудване ?
 
PHP:
<?php
include ("common.php");//tuk e connect-a kum db-to i funkciqta run_q

if($_SESSION['is_logged']===true)
{
    if(isset($_FILES['user_pic']))
    if($_FILES['user_pic']['tmp_name'])
    {
        if($_FILES['user_pic']['size']>2097152)
        {
            $err[]='Файлът е над 2MB';
        }
        if($_FILES['user_pic']['type']!='image/png' )
        {
            $err[]='Файлът не е снимка';
        }
       if(count($err)==0)
       {
           if(!is_dir('user_pics'.DIRECTORY_SEPARATOR.$_SESSION['user_id']))
           {
               mkdir('user_pics'.DIRECTORY_SEPARATOR.$_SESSION['user_id']);
           }
           $name=time().'_'.$_FILES['user_pic']['name'];
           if(move_uploaded_file($_FILES['user_pic']['tmp_name'], 
              'user_pics'.DIRECTORY_SEPARATOR.$_SESSION['user_id'].DIRECTORY_SEPARATOR.$name))
           {
               run_q('INSERT INTO pictures(pic_name, catalogue_id, comment, date_added) 
                   VALUES ("'.$name.'",'.(int)$_POST['folder'].', "'.addslashes($_POST['user_desc']).'",'.time().')');
               create_thumb('user_pics'.DIRECTORY_SEPARATOR.$_SESSION['user_id'].DIRECTORY_SEPARATOR.$name);
               $success=true;
           }
           else
           {
               $err[]='Грешка при копирането на файла. Моля опитайте отново.';
           }
       }
    }
    $folders=fetch_all(run_q('SELECT * FROM user_catalogs WHERE user_id='.$_SESSION['user_id']));
    include("themplate/header.php");
    include("themplate/upload.php");
    include("themplate/footer.php");
}
else
{
    header('Location: index.php');
    exit;
}
function create_thumb($source, $thumb_width=100)
{
    $fl=dirname($source);
    $new_name='thumb_'.basename($source);
    $img=imagecreatefrompng($source);
    $width=imagesx($img);
    $height=imagesy($img);
    $new_width= $thumb_width;
    $new_height=floor($height * ($thumb_width/$width));
    $tmp_img=imagecreatetruecolor($new_width, $new_height);
    imagecopyresized($tmp_img, $img, 0, 0, 0, 0, $new_width, $new_height, $width, $height);
    imagejpeg($tmp_img, $fl.DIRECTORY_SEPARATOR.$new_name);
    imagegif($tmp_img, $fl.DIRECTORY_SEPARATOR.$new_name);
    imagepng($tmp_img, $fl.DIRECTORY_SEPARATOR.$new_name);
}
?>

мисля че това ще ти свърши работа
 
Добре е,но за какво ми е връзка с база данни? Мен ми тряя само снимката да се качва в папката upload. Ако може някой да ми даде този код съвсем опростен :)
 
Ейтва е най простото, което ще ти свърше работа..

<form method='post' enctype="multipart/form-data" action=''>
<input type='file' name='ufile' /> <br/><br/> <input type='submit' name='upload' value='Качи' />
</form>
<?

if(isset($_POST['upload']))
{

$file = $_FILES['ufile']['name'];
$fileTmp = $_FILES['ufile']['tmp_name'];
//$fileType = $_FILES['ufile']['type'];
$fileSize = $_FILES['ufile']['size'];


$isPng = end(explode(".",$file));

if( $isPng != "png") //тука казваме ако не е png ..
{
echo "<font color='red' size='2'>Трябва да е PNG</font>";
}else{

move_uploaded_file( $fileTmp , "upload/");
echo "<font size='3' color='green'>Успешно я качи !</font>";

}



}
?>


:?: :?: :?:
 
Ок ама само да питам папката upload си ми е в главната директория а това дето ъплоудва снимките ми е в папката admin и нещо не иска да ги ъплоудва :(
 
PHP:
<form method='post' enctype="multipart/form-data" action=''>
<input type='file' name='ufile' /> <br/><br/> <input type='submit' name='upload' value='Качи' />
</form>
<?

if(isset($_POST['upload']))
{

 $file = $_FILES['ufile']['name'];
 $fileTmp = $_FILES['ufile']['tmp_name'];
 //$fileType = $_FILES['ufile']['type'];
 $fileSize = $_FILES['ufile']['size'];


 $isPng = end(explode(".",$file));

 if( $isPng != "png") //тука казваме ако не е png .. 
{
echo "<font color='red' size='2'>Трябва да е PNG</font>";
}else{

move_uploaded_file( $fileTmp , "../upload/");
echo "<font size='3' color='green'>Успешно я качи !</font>";

}



}
?>
 
Дава ми ето това

Код:
Warning: move_uploaded_file(upload/) [function.move-uploaded-file]: failed to open stream: Is a directory in /home/саитами/public_html/adminpapka/upload.php on line 22

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpp98ow5' to 'upload/' in /home/саитами/public_html/adminpapka/upload.php on line 22
Успешно я качи !

Пише ми че успешно съм я качил,но няма такава снимка в папката :(
 
ае адаш ..(@mitaka961) .. тва не беше вапрост ама както и да е ... пробвай така:

PHP:
<form method='post' enctype="multipart/form-data" action=''>
<input type='file' name='ufile' /> <br/><br/> <input type='submit' name='upload' value='Качи' />
</form>
<?

if(isset($_POST['upload']))
{

 $file = $_FILES['ufile']['name'];
 $fileTmp = $_FILES['ufile']['tmp_name'];
 //$fileType = $_FILES['ufile']['type'];
 $fileSize = $_FILES['ufile']['size'];


 $isPng = end(explode(".",$file));

 if( $isPng != "png") //тука казваме ако не е png .. 
{
echo "<font color='red' size='2'>Трябва да е PNG</font>";
}else{

copy( $fileTmp , "../upload");
echo "<font size='3' color='green'>Успешно я качи !</font>";

}



}
?>
 
Ми не мисля че правя грешка. В главната директория имам папка upload отделно пак в главната директория имам папка admin. В тая папка копвам тва дет сте ми дали и го записвам като upload.php . Само че нещо се ебава и дава тая грешка

Код:
Warning: move_uploaded_file(upload/) [function.move-uploaded-file]: failed to open stream: Is a directory in /home/саитами/public_html/admin/upload.php on line 22

* Това си го тествам на платен хост
 
Я пробвай така
PHP:
<form method='post' enctype="multipart/form-data" action=''>
<input type='file' name='ufile' /> <br/><br/> <input type='submit' name='upload' value='Качи' />
</form>
<?

if(isset($_POST['upload']))
{

 $file = $_FILES['ufile']['name'];
 $fileTmp = $_FILES['ufile']['tmp_name'];
 //$fileType = $_FILES['ufile']['type'];
 $fileSize = $_FILES['ufile']['size'];


 $isPng = end(explode(".",$file));

 if( $isPng != "png") //тука казваме ако не е png .. 
{
echo "<font color='red' size='2'>Трябва да е PNG</font>";
}else{

move_uploaded_file( $fileTmp , "../upload/");
echo "<font size='3' color='green'>Успешно я качи !</font>";
move_uploaded_file($fileTmp, 'upload'.DIRECTORY_SEPARATOR.$file)
}



}
?>
 
Ти чак толкова начинаещ ли си че една синтактична грешка да не можеш да оправиш :Д:Д
PHP:
<form method='post' enctype="multipart/form-data" action=''>
<input type='file' name='ufile' /> <br/><br/> <input type='submit' name='upload' value='Качи' />
</form>
<?

if(isset($_POST['upload']))
{

 $file = $_FILES['ufile']['name'];
 $fileTmp = $_FILES['ufile']['tmp_name'];
 //$fileType = $_FILES['ufile']['type'];
 $fileSize = $_FILES['ufile']['size'];


 $isPng = end(explode(".",$file));

 if( $isPng != "png") //тука казваме ако не е png .. 
{
echo "<font color='red' size='2'>Трябва да е PNG</font>";
}else{

move_uploaded_file($fileTmp, 'upload'.DIRECTORY_SEPARATOR.$file);
echo "<font size='3' color='green'>Успешно я качи !</font>";

}



}
?>
 
тук намерих още нещо,някой може ли малко да ми го поуформи

Код:
    echo '<div class="block_content tab_content" id="tab1">';
            ////Показване на грешките
            ?><ul class="imglist">
                    <li>
                        <img src="../images/squad.jpg" style="width:150px;height:100px;" alt="Снимка на отбора" />
                    </li>
                </ul>
            <form name="team" method="post" action="club.php" enctype="multipart/form-data">
                <p class="fileupload"><label>Снимка:</label><br /><input type="file" name="pic" value=""/></p>
                <input type="submit" class="submit small" value="Качи" />
                <input type="hidden" name="teamSubmit" value="true"/>
            </form><br />
                <div class="message info"><p>Желателно е размера на снимката да е 540х280px!</p><p>Задължително в JPG формат!</p></div><?php
            if($_POST['teamSubmit']) {
                $nname = $_FILES['pic']['name'];
                $fname = $_FILES['pic']['tmp_name'];
                $fsize = $_FILES['pic']['size'];
                $ftype = $_FILES['pic']['type'];
                $dir = "../images/";
                if($nname == NULL) {
                    echo $error = '<div class="message errormsg"><p>Не е избран файл!</p></div>';
                }else if($fsize > 314572) {
                    echo $error = '<div class="message errormsg"><p>Файла е над 300KB!</p></div>';
                }else if($ftype != 'image/jpeg') {
                    echo $error = '<div class="message errormsg"><p>Файла не е JPG формат!</p></div>';
                }else if(move_uploaded_file($fname, $dir."squad.jpg")) {
                    echo $error = '<div class="message success"><p>Снимката е записана успешно!</p></div>';
                }else echo $error = '<div class="message errormsg"><p>Възникна грешка. Моля, опитайте отново!</p></div>';
            }
    echo'</div>';
 

Back
Горе