1. Este site usa cookies. Ao continuar a usar este site está a concordar com o nosso uso de cookies. Saber Mais.

[Ajuda] Upload de Imagem em PHP para MYSQL (Base de Dados)

Discussão em 'Web Development' iniciada por Majin Vegeta, 5 de Abril de 2008. (Respostas: 28; Visualizações: 6573)

  1. Majin Vegeta

    Majin Vegeta Power Member

    boas, alguem me pode dar umas dicas sobre como fazer um upload de uma imagem atraves de codigo PHP para a base de dados (Mysql). e que estou farto de procurar na net e encontrei varios codigos a funcionar mas o upload nao e feito para a base de dados por isso e que precisava da vossa ajuda.
    espero que me puderem ajudar

    cumps
     
  2. P2mb2

    P2mb2 Power Member

    Um artigo sobre...

    Código:
    Aim of this article is to sho you the simples way to uplaod images to mySQL database. First you need to create a custom database table. The name of this table can be named as "images_table". Now here is the SQL code for creating the table.
    
    [COLOR=#333399][FONT=Comic Sans MS][B]images_table.sql[/B][/FONT][/COLOR]
    
    [COLOR=#333399][FONT=Comic Sans MS]CREATE TABLE `images_table` ([/FONT][/COLOR]
    [COLOR=#333399][FONT=Comic Sans MS]`imageID` int(11) NOT NULL auto_increment,[/FONT][/COLOR]
    [COLOR=#333399][FONT=Comic Sans MS]`imageName` varchar(25) NOT NULL default '',[/FONT][/COLOR]
    [COLOR=#333399][FONT=Comic Sans MS]`imageFile` longtext NOT NULL,[/FONT][/COLOR]
    [COLOR=#333399][FONT=Comic Sans MS]PRIMARY KEY (`imageID`)[/FONT][/COLOR]
    [COLOR=#333399][FONT=Comic Sans MS])  AUTO_INCREMENT=1 ;[/FONT][/COLOR]
    
    This is our upload HTML file. There will be no server-side coding on this file :
    
    [COLOR=#000080][FONT=Comic Sans MS][B]imageupload.php[/B][/FONT][/COLOR]
    
    [COLOR=#000080][FONT=Comic Sans MS]<html>[/FONT][/COLOR]
    [COLOR=#000080][FONT=Comic Sans MS]<head>[/FONT][/COLOR]
    [COLOR=#000080][FONT=Comic Sans MS]<title>Upload Image</title>[/FONT][/COLOR]
    [COLOR=#000080][FONT=Comic Sans MS]</head>[/FONT][/COLOR]
    [COLOR=#000080][FONT=Comic Sans MS]<body>[/FONT][/COLOR]
    [COLOR=#000080][FONT=Comic Sans MS]<form action="imageupload.php" method="POST" enctype="multipart/form-data">[/FONT][/COLOR]
    [COLOR=#000080][FONT=Comic Sans MS]Name : <input type="text" name="imageName"> <br/>[/FONT][/COLOR]
    [COLOR=#000080][FONT=Comic Sans MS]Image :<input type="file" name="imageFile">[/FONT][/COLOR]
    [COLOR=#000080][FONT=Comic Sans MS]<input type="submit" value="Upload" name="func">[/FONT][/COLOR]
    [COLOR=#000080][FONT=Comic Sans MS]</form>[/FONT][/COLOR]
    [COLOR=#000080][FONT=Comic Sans MS]</body>[/FONT][/COLOR]
    [COLOR=#000080][FONT=Comic Sans MS]</html>[/FONT][/COLOR]
    
    
    Now this is the rest of the code. This php file will insert the image to our database.
    
    [COLOR=#000080][FONT=Comic Sans MS][B]imageupload.php[/B][/FONT][/COLOR]
    
    [COLOR=#000080][FONT=Comic Sans MS]<?[/FONT][/COLOR]
    
    [COLOR=#000080][FONT=Comic Sans MS]  /*[/FONT][/COLOR]
    [COLOR=#000080][FONT=Comic Sans MS]    This function take the image from form variables[/FONT][/COLOR]
    [COLOR=#000080][FONT=Comic Sans MS]                            */[/FONT][/COLOR]
    
    [COLOR=#000080][FONT=Comic Sans MS]function getImageFile($file){[/FONT][/COLOR]
    [COLOR=#000080][FONT=Comic Sans MS]$takeFile = fopen($file, "r");[/FONT][/COLOR]
    [COLOR=#000080][FONT=Comic Sans MS]$file = fread($takeFile, filesize($file));[/FONT][/COLOR]
    [COLOR=#000080][FONT=Comic Sans MS]fclose($takeFile);[/FONT][/COLOR]
    
    [COLOR=#000080][FONT=Comic Sans MS]return $file;[/FONT][/COLOR]
    [COLOR=#000080][FONT=Comic Sans MS]}[/FONT][/COLOR]
    
    [COLOR=#000080][FONT=Comic Sans MS]  /*[/FONT][/COLOR]
    [COLOR=#000080][FONT=Comic Sans MS]    We learn image type using this function[/FONT][/COLOR]
    [COLOR=#000080][FONT=Comic Sans MS]    Because we will let onlt gif, jpg and png images can be uploaded[/FONT][/COLOR]
    [COLOR=#000080][FONT=Comic Sans MS]                            */[/FONT][/COLOR]
    
    [COLOR=#000080][FONT=Comic Sans MS]function getfileType( $name ){[/FONT][/COLOR]
    [COLOR=#000080][FONT=Comic Sans MS]$name = explode(".", $name);[/FONT][/COLOR]
    [COLOR=#000080][FONT=Comic Sans MS]$name = array_reverse($name);[/FONT][/COLOR]
    [COLOR=#000080][FONT=Comic Sans MS]$name = $name[0];[/FONT][/COLOR]
    [COLOR=#000080][FONT=Comic Sans MS]return $name;[/FONT][/COLOR]
    [COLOR=#000080][FONT=Comic Sans MS]}[/FONT][/COLOR]
    
    [COLOR=#000080][FONT=Comic Sans MS]$allowedImageTypes = array("gif","jpg","png");[/FONT][/COLOR]
    [COLOR=#000080][FONT=Comic Sans MS]if(empty($_FILES['image_file']['tmp_name'])){[/FONT][/COLOR]
    [COLOR=#000080][FONT=Comic Sans MS]echo "File not uploaded";[/FONT][/COLOR]
    [COLOR=#000080][FONT=Comic Sans MS]}[/FONT][/COLOR]
    [COLOR=#000080][FONT=Comic Sans MS]else {[/FONT][/COLOR]
    [COLOR=#000080][FONT=Comic Sans MS]$fileType = $_FILES['image_file']['name'];[/FONT][/COLOR]
    
    [COLOR=#000080][FONT=Comic Sans MS]if(in_array(getfileType($fileType), $allowedImageTypes)){[/FONT][/COLOR]
    [COLOR=#000080][FONT=Comic Sans MS]$fileContent = getImageFile($_FILES['imgFile']['tmp_name']);[/FONT][/COLOR]
    
    [COLOR=#000080][FONT=Comic Sans MS]$uploadedImage = chunk_split(base64_encode($fileContent));[/FONT][/COLOR]
    
    [COLOR=#000080][FONT=Comic Sans MS]$query = "INSERT INTO images_table VALUES('NULL','$imgName','$uploadedImage')";[/FONT][/COLOR]
    
    [COLOR=#000080][FONT=Comic Sans MS]$result = mysql_query($query);[/FONT][/COLOR]
    
    [COLOR=#000080][FONT=Comic Sans MS]if(mysql_affected_rows() > 0){[/FONT][/COLOR]
    
    [COLOR=#000080][FONT=Comic Sans MS]echo "Image has been inserted succesfully";[/FONT][/COLOR]
    [COLOR=#000080][FONT=Comic Sans MS]}[/FONT][/COLOR]
    [COLOR=#000080][FONT=Comic Sans MS]else {[/FONT][/COLOR]
    [COLOR=#000080][FONT=Comic Sans MS]echo "Image can not be inserted check your submission";[/FONT][/COLOR]
    [COLOR=#000080][FONT=Comic Sans MS]}[/FONT][/COLOR]
    [COLOR=#000080][FONT=Comic Sans MS]}[/FONT][/COLOR]
    [COLOR=#000080][FONT=Comic Sans MS]else {[/FONT][/COLOR]
    [COLOR=#000080][FONT=Comic Sans MS]echo "This is not a true image type";[/FONT][/COLOR]
    [COLOR=#000080][FONT=Comic Sans MS]}[/FONT][/COLOR]
    [COLOR=#000080][FONT=Comic Sans MS]}[/FONT][/COLOR]
     
  3. Majin Vegeta

    Majin Vegeta Power Member

    p2mb2 ja tive a ver o codigo que me arranjaste mas nao o consigo por a funcionar.
    e que tipo nao me da erro nenhum a nivel de codigo mas quando vou executo a pagina(meti tudo na mesma pagina) aparece as janelas de input e isso mas tambem aparece isto "file not uploaded" o que penso que normal porque no codigo tem la cenas que manda verificar se os campso tao vazios e, se estiverem, para aparecer essa mensagem. no entanto, quanto carrego no botao upload da sempre "file not uploaded" e eu nao sei porque. espero que me possas ajudar.

    cumps

    P.S. acrescentei tambem estas linahs de codigo
    $ligax=mysqli_connect('localhost','root');
    if(!$ligax){
    echo '<p> Falha na ligação.'; exit;
    }
    mysqli_select_db($ligax,'nomedabasededados');

    nao sei se sao precisas ou nao mas seja como for (com ou sem estas linhas de codigo)da na mesma o erro k disse acima
     
  4. K0mA

    K0mA Power Member

    Boas,

    P2mb2 quando for assim convém meteres a fonte por respeito aos direitos de autor, e também para se saber de onde veio e onde eventualmente procurar mais informação.

    Neste caso conhecendo a fonte é possível verificar que um comentário a esse código diz o seguinte:

    Majin Vegeta tenta safar-te por aqui.

    Cumprimentos
     
    Última edição: 5 de Abril de 2008
  5. Majin Vegeta

    Majin Vegeta Power Member

    K0mA, eu com ajuda do link k tu me deste arranjei este codigo:

    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
    "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

    <html>
    <head><title>File Upload To Database</title></head>
    <body>
    <h3>Please Choose a File and click Submit</h3>

    <form enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
    <input type="hidden" name="MAX_FILE_SIZE" value="10000000" />
    <input name="userfile[]" type="file" />
    <input type="submit" value="Submit" />
    </form>
    </body>
    </html>

    <?php
    // check if a file was submitted
    if(!isset($_FILES['userfile'])) {
    echo '<p>Please select a file</p>';
    }
    else
    {
    try {
    upload();
    // give praise and thanks to the php gods
    echo '<p>Thank you for submitting</p>';
    }
    catch(Exception $e) {
    echo $e->getMessage();
    echo 'Sorry, could not upload file';
    }
    }

    // the upload function
    function upload(){

    if(is_uploaded_file($_FILES['userfile']['tmp_name'])) {

    // check the file is less than the maximum file size
    if($_FILES['userfile']['size'] < $maxsize)
    {
    // prepare the image for insertion
    $imgData =addslashes (file_get_contents($_FILES['userfile']['tmp_name']));
    // $imgData = addslashes($_FILES['userfile']);

    // get the image info..
    $size = getimagesize($_FILES['userfile']['tmp_name']);

    // put the image in the db...
    // database connection
    mysqli_connect('localhost','root');


    // select the db
    mysqli_select_db($ligax,diagonalley);

    // our sql query
    $sql = "INSERT INTO testblob
    (image_id,image_type,image,image_size,image_name)
    VALUES
    ('','{$size['mime']}','{$imgData}','{$size[3]}','{$_FILES['userfile']['name']}')";

    // insert the image
    if(!mysql_query($sql)) {
    echo 'Unable to upload file';
    }
    }
    }
    else {
    // if the file is not less than the maximum allowed, print an error
    echo
    '<div>File exceeds the Maximum File limit</div>
    <div>Maximum File limit is '.$maxsize.'</div>
    <div>File '.$_FILES['userfile']['name'].' is '.$_FILES['userfile']['size'].' bytes</div>
    <hr />';
    }
    }
    // echo $sql;
    ?>



    no entanto, da-me erro sempre que tenot fazer o uplaod de uma imagem porque diz sempre que a imagem e demasiado grande e eu ja experimentei com iamgens pequeninissimas e dam na mesma erro e eu nao tou a ver qual e o erro, e nao sei e se e preciso acrescentar a ligação a base de dados.

    cumps
     
  6. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

  7. AliFromCairo

    AliFromCairo Power Member

    Boas, o tipo de dados que estás a utilizar para guardar a imagem não deve ser o mais adequado. Dá uma vista de olhos nos links do post anterior.
     
  8. Majin Vegeta

    Majin Vegeta Power Member

    boas, se repararem o codigo k eu tinha postado acima e baseado nos primeiros passos deste link que postaram (http://www.phpriot.com/articles/images-in-mysql/7).
    eu tive a observar o codigo com mais atençao e penso que o probelma ta na variavel ($maxsize).
    isto porque quando eu faço o upload aparecem esta mensagem:



    "File exceeds the Maximum File limit
    Maximum File limit is
    File Array is Array bytes".

    se repararem no codigo esta esta linha: <div>Maximum File limit is '.$maxsize.'</div>
    ou seja, ele nao ta a trazer a variavel do maxsize logo penso que e por isso que ta a dar erro mas memso assim nao sei como o resolver.

    o que e voces acham?

    cumps
     
  9. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Não vejo a definição de $maxsize.
    Mostra o código todo que tens actualmente, sff.
     
  10. Majin Vegeta

    Majin Vegeta Power Member

    Código:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     
    <html>
        <head><title>File Upload To Database</title></head>
        <body>
            <h3>Please Choose a File and click Submit</h3>
     
            <form enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
                <input type="hidden" name="MAX_FILE_SIZE" value="10000000" />
                <input name="userfile[]" type="file" />
                <input type="submit" value="Submit" />
            </form>
        </body>
    </html>
    
    <?php
        // check if a file was submitted
        if(!isset($_FILES['userfile'])) {
            echo '<p>Please select a file</p>';
        }
        else
            {
            try {
                upload();
                // give praise and thanks to the php gods
                echo '<p>Thank you for submitting</p>';
            }
            catch(Exception $e) {
                echo $e->getMessage();
                echo 'Sorry, could not upload file';
            }
        }
    
        // the upload function
        function upload(){
     
        if(is_uploaded_file($_FILES['userfile']['tmp_name'])) {
     
            // check the file is less than the maximum file size
            if($_FILES['userfile']['size'] < $maxsize)
                {
            // prepare the image for insertion
            $imgData =addslashes (file_get_contents($_FILES['userfile']['tmp_name']));
            // $imgData = addslashes($_FILES['userfile']);
     
            // get the image info..
              $size = getimagesize($_FILES['userfile']['tmp_name']);
     
            // put the image in the db...
              // database connection
              mysqli_connect('localhost','root');
        
     
              // select the db
              mysqli_select_db($ligax,diagonalley);
     
            // our sql query
            $sql = "INSERT INTO testblob
                    (image_id,image_type,image,image_size,image_name)
                    VALUES
                    ('','{$size['mime']}','{$imgData}','{$size[3]}','{$_FILES['userfile']['name']}')";
    
            // insert the image
            if(!mysql_query($sql)) {
                echo 'Unable to upload file';
                }
            }
        }
        else {
             // if the file is not less than the maximum allowed, print an error
             echo
              '<div>File exceeds the Maximum File limit</div>
              <div>Maximum File limit is '.$maxsize.'</div>
              <div>File '.$_FILES['userfile']['name'].' is '.$_FILES['userfile']['size'].' bytes</div>
              <hr />';
             }
        }
        // echo $sql;
    ?>
    e este + a cena da tabela da base de dados

    cumps
     
    Última edição pelo moderador: 6 de Abril de 2008
  11. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Devias usar as tags CODE, ou, neste caso, PHP. Fiz o report a dizer "CODE" mas devia ter dito "PHP". My bad :P

    Experimenta assim:
    PHP:
    <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
      "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
     
    <html>
        <head><title>File Upload To Database</title></head>
        <body>
            <h3>Please Choose a File and click Submit</h3>
     
            <form enctype="multipart/form-data" action="<?php echo $_SERVER['PHP_SELF']; ?>" method="post">
                <input type="hidden" name="MAX_FILE_SIZE" value="10000000" />
                <input name="userfile[]" type="file" />
                <input type="submit" value="Submit" />
            </form>
        </body>
    </html>
     
    <?php
        
    // check if a file was submitted
        
    if(!isset($_FILES['userfile'])) {
            echo 
    '<p>Please select a file</p>';
        }
        else
            {
            try {
                
    $maxsize $_POST["MAX_FILE_SIZE"]; // <<<<<<<<<<<<<
                
    upload();
                
    // give praise and thanks to the php gods
                
    echo '<p>Thank you for submitting</p>';
            }
            catch(
    Exception $e) {
                echo 
    $e->getMessage();
                echo 
    'Sorry, could not upload file';
            }
        }
     
        
    // the upload function
        
    function upload(){
     
        if(
    is_uploaded_file($_FILES['userfile']['tmp_name'])) {
     
            
    // check the file is less than the maximum file size
            
    if($_FILES['userfile']['size'] < $maxsize)
                {
            
    // prepare the image for insertion
            
    $imgData =addslashes (file_get_contents($_FILES['userfile']['tmp_name']));
            
    // $imgData = addslashes($_FILES['userfile']);
     
            // get the image info..
              
    $size getimagesize($_FILES['userfile']['tmp_name']);
     
            
    // put the image in the db...
              // database connection
              
    mysqli_connect('localhost','root');
     
     
              
    // select the db
              
    mysqli_select_db($ligax,diagonalley);
     
            
    // our sql query
            
    $sql "INSERT INTO testblob
                    (image_id,image_type,image,image_size,image_name)
                    VALUES
                    ('','
    {$size['mime']}','{$imgData}','{$size[3]}','{$_FILES['userfile']['name']}')";
     
            
    // insert the image
            
    if(!mysql_query($sql)) {
                echo 
    'Unable to upload file';
                }
            }
        }
        else {
             
    // if the file is not less than the maximum allowed, print an error
             
    echo
              
    '<div>File exceeds the Maximum File limit</div>
              <div>Maximum File limit is '
    .$maxsize.'</div>
              <div>File '
    .$_FILES['userfile']['name'].' is '.$_FILES['userfile']['size'].' bytes</div>
              <hr />'
    ;
             }
        }
        
    // echo $sql;
    ?>
    Não conheço a função upload() e ela não está declarada aí e não tens includes. Não existe no site do PHP. Explica-me o que é que essa função faz, sff. Não andas a copiar coisas dos sites que te têm dado sem as perceber, pois não?
     
  12. Majin Vegeta

    Majin Vegeta Power Member

    tipo, o codigo que me arrnajaste continua a nao dar.
    em relação a function é o seguinte. eu percebo alguma coisa de php e mas nao muito alias, foi por isso que vim pedir ajuda. agora, eu nao chapei o codigo sem perceber o que tava a fazer no entanto, nunca tinha usado uma function no php mas nao a tirei porque segundo o site onde andei a ver este codigo, pelo que o meu ingles e capaz de perceber penso que ela verifica o tamanho da imagem e essas cenas, ou seja, os ifs . (podes conferir aqui http://www.phpriot.com/articles/images-in-mysql/7)

    cumps
     
  13. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Pois... o link que me deste tem PRECISAMENTE a declaração da função upload(). Precisas de ter isso tudo no teu código ;)
    Não podes mesmo "chapar" código. Precisas frequentemente de fazer modificações, e no conteúdo dessa função também tens algumas coisas para mudar. Deixo para ti o trabalho de o fazer :P
     
    Última edição: 6 de Abril de 2008
  14. Majin Vegeta

    Majin Vegeta Power Member

    podes m ou menos dar umas dicas do que tenho de mudar?

    cumps
     
  15. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Sinceramente, agora que vejo com mais calma os códigos, tens aí muita coisa misturada :wvsore:

    O que tens de modificar? Basicamente, as informações do MySQL e o $maxsize, mas precisas do MaxSize como global se ele estiver a ser declarado fora da função. No entanto, dado o código que tens, parece que parte do teu código veio dali. Logo, essa parte devia estar dentro da função.
    Não te sei explicar melhor. Mas acho que vai muita confusão por aí.
     
  16. Majin Vegeta

    Majin Vegeta Power Member

    tipo, ele agora ja me traz a variavel do maxzise porque eu coloquei-a dentro da função.

    Código:
    function upload(){
        
        $maxsize = $_POST["MAX_FILE_SIZE"];
     
        if(is_uploaded_file($_FILES['userfile']['tmp_name'])) {
     
            // check the file is less than the maximum file size
            if($_FILES['userfile']['size'] < $maxsize)
                {
            // prepare the image for insertion
            $imgData =addslashes (file_get_contents($_FILES['userfile']['tmp_name']));
            // $imgData = addslashes($_FILES['userfile']);
     
            // get the image info..
              $size = getimagesize($_FILES['userfile']['tmp_name']);
     
            // put the image in the db...
              // database connection
              mysqli_connect('localhost','root');
     
     
              // select the db
              mysqli_select_db($ligax,diagonalley);
     
            // our sql query
            $sql = "INSERT INTO testblob
                    (image_id,image_type,image,image_size,image_name)
                    VALUES
                    ('','{$size['mime']}','{$imgData}','{$size[3]}','{$_FILES['userfile']['name']}')";
     
            // insert the image
            if(!mysql_query($sql)) {
                echo 'Unable to upload file';
                }
            }
        }
        else {
             // if the file is not less than the maximum allowed, print an error
             echo
              '<div>File exceeds the Maximum File limit</div>
              <div>Maximum File limit is '.$maxsize.'</div>
              <div>File '.$_FILES['userfile']['name'].' is '.$_FILES['userfile']['size'].' bytes</div>
              <hr />';
             }
        }
        // echo $sql;
    ?>
    no entanto, ele continua a dar erro porque dix que a imagem e muito grande
    aparece o seguinte:
    File exceeds the Maximum File limit
    Maximum File limit is 10000000 (ele antes aparecia aqui $maxsize)

    File Array is Array bytes

    so que agora eu ja tive a ver o codigo varias vezes e nao sei o que hei-de alterar porque como nao me da erro nenhum a nivel de codigo ainda se torna mais dificil detectar o que esta mal.

    cumps
     
    Última edição pelo moderador: 11 de Abril de 2008
  17. Majin Vegeta

    Majin Vegeta Power Member

    quando eu clico em submit como ja disse aparecem varias frases entre as quais esta
    "File Array is Array bites"

    nao percebo pk e que ele me esta a trazer a palavra array nesta linah de codigo (<div>File '.$_FILES['userfile']['name'].' is '.$_FILES['userfile']['size'].' bytes</div>) quando devia trazer o nome do ficheiro :(

    como e que eu posso mudar isso e implementar dentro da função upload uma variavel que me guarde o nome e o tamanho do ficheiro?

    pareceme que e isso que falta

    help please

    cumps
     
  18. Kayvlim

    Kayvlim Undefined Moderator
    Staff Member

    Não sei o que se passa.
    Faz
    PHP:
    echo "<pre>";
    print_r($_FILES);
    echo 
    "</pre>";
    para vermos o que está a sair aí ;)
     
  19. Majin Vegeta

    Majin Vegeta Power Member

    angelofwisdow, antes aparecia o seguinte quando carregava em upload:

    File exceeds the Maximum File limit
    Maximum File limit is 10000000
    File Array is Array bytes

    Thank you for submitting

    agora acrescentei mais aqueles echos que tu dissest e aparecem o seguinte:

    File exceeds the Maximum File limit
    Maximum File limit is 10000000
    File Array is Array bytes
    Array
    (
    [userfile] => Array
    (
    [name] => Array
    (
    [0] => 21454.jpg
    )

    [type] => Array
    (
    [0] => image/jpeg
    )

    [tmp_name] => Array
    (
    [0] => C:\Programas\xampp\tmp\php39.tmp
    )

    [error] => Array
    (
    [0] => 0
    )

    [size] => Array
    (
    [0] => 5254
    )

    )

    )
    Thank you for submitting



    cumps
     
  20. Majin Vegeta

    Majin Vegeta Power Member

    para mim o erro ta ao inserir na base de dados:

    a tabela da imagem que eu tenho e esta:
    create table testblob (
    image_id tinyint(3) not null default '0',
    image_type varchar(25) not null default '',
    image blob not null,
    image_size varchar(25) not null default '',
    image_ctgy varchar(25) not null default '',
    image_name varchar(50) not null default ''
    );




    e o erro deve estar ao inserir os dados na base de dados ou seja aqui:

    $sql = "INSERT INTO testblob
    (image_id,image_type,image,image_size,image_name)
    VALUES
    ('','{$size['mime']}','{$imgData}','{$size[3]}','{$_FILES['userfile']['name']}')";
    $result=mysqli_query($ligax,$sql);



    pq aquilo da erro da imagem ser mt grande porque o codigo tem:
    // insert the image
    if(!mysql_query($sql)) {
    echo 'Unable to upload file';
    }
    }
    }
    else {
    // if the file is not less than the maximum allowed, print an error
    echo
    '<div>File exceeds the Maximum File limit</div>
    <div>Maximum File limit is '.$maxsize.'</div>
    <div>File '.$_FILES['userfile']['name'].' is '.$_FILES['userfile']['size'].' bytes</div>
    <hr />';
    echo "<pre>";
    print_r($_sql);
    print_r($_FILES);
    echo "</pre>";
    }
    }
    // echo $sql;
    ?>

    ou seja, segundo eu percebo ele da o erro do tamanho e isso tudo se nao conseguir inserir na base de dados (if(!mysql_query($sql)) porque senao nao deve dar nenhum erro mas mesmo que seja isso eu nao tou a conseguir resolver.



    por favor ajudem-me que isto e mesmo importante.

    cumps
     

Partilhar esta Página