Pagina 1 di 1

[Risolto] Programma Php

Inviato: venerdì 29 febbraio 2008, 19:52
da rodolforizzo76
ciao a tutti.

non riesco a far funzionare questo programma php.
si tratta di un programma che dovrebbe permettere a un utente di caricare immagini dal sito.

prima ho creato la tabella 'images' nel database che si chiamma 'moviesite'

Codice: Seleziona tutto

<?php

//connect to the database
$link = mysql_connect("localhost", "root", "miapassword")
  or die("Could not connect: " . mysql_error());
mysql_select_db("moviesite", $link) 
  or die (mysql_error());

//create images table
$sql = "CREATE TABLE IF NOT EXISTS images (
        image_id INT(11) NOT NULL AUTO_INCREMENT,
        image_caption VARCHAR(255) NOT NULL,
        image_username VARCHAR(255) NOT NULL,
        image_date DATE NOT NULL,
        PRIMARY KEY (image_id)
        )";
$results = mysql_query($sql) 
  or die(mysql_error());

poi questo è il form che si potrebbe chiamare 'upload_image.htm':

Codice: Seleziona tutto

<html>
<head>
<title>Upload your pic to our site!</title>
</head>
<body>

<form name="form1" method="post" action="check_image.php" 
    enctype="multipart/form-data">

<table border="0" cellpadding="5">
  <tr>
    <td>Image Title or Caption<br>
      <em>Example: You talkin' to me?</em></td>
    <td><input name="image_caption" type="text" id="item_caption" size="55" 
          maxlength="255"></td>
  </tr>
  <tr>
    <td>Your Username</td>
    <td><input name="image_username" type="text" id="image_username" size="15" 
          maxlength="255"></td>
  </tr>
    <td>Upload Image:</td>
    <td><input name="image_filename" type="file" id="image_filename"></td>
  </tr>
</table>
<br>
<em>Acceptable image formats include: GIF, JPG/JPEG, and PNG.</em>
<p align="center"><input type="submit" name="Submit" value="Submit">
   
  <input type="reset" name="Submit2" value="Clear Form">

e infine il file che si puo chiamare check_image.php:

Codice: Seleziona tutto

<?php
//connect to the database
$link = mysql_connect("localhost", "root", "miapassword")
  or die("Could not connect: " . mysql_error());
mysql_select_db("moviesite", $link) 
  or die (mysql_error());

//make variables available
$image_caption = $_POST['image_caption'];
$image_username = $_POST['image_username'];
$image_tempname = $_FILES['image_filename']['name'];
$today = date("Y-m-d");

//upload image and check for image type
//make sure to change your path to match your images directory
$ImageDir ="/home/rodolfo/www/immagini/";
$ImageName = $ImageDir . $image_tempname;

if (move_uploaded_file($_FILES['image_filename']['tmp_name'], $ImageName)){ 

  //get info about the image being uploaded
  list($width, $height, $type, $attr) = getimagesize($ImageName);

  switch ($type) {
    case 1:
      $ext = ".gif";
      break;
    case 2:
      $ext = ".jpg";
      break;
    case 3:
      $ext = ".png";
      break;
    default:
      echo "Sorry, but the file you uploaded was not a GIF, JPG, or " .
           "PNG file.<br>";
      echo "Please hit your browser's 'back' button and try again.";
  }

   //insert info into image table

  $insert = "INSERT INTO images
            (image_caption, image_username, image_date)
            VALUES
            ('$image_caption', '$image_username', '$today')";
  $insertresults = mysql_query($insert)
    or die(mysql_error());

  $lastpicid = mysql_insert_id();

  $newfilename = $ImageDir . $lastpicid . $ext;

  rename($ImageName, $newfilename);

}

?>

<html>
<head>
<title>Here is your pic!</title>
</head>
<body>
<h1>So how does it feel to be famous?</h1><br><br>
<p>Here is the picture you just uploaded to our servers:</p>
<img src="images/<?php echo $lastpicid . $ext; ?>" align="left">
<strong><?php echo $image_name; ?></strong><br>
This image is a <?php echo $ext; ?> image.<br>
It is <?php echo $width; ?> pixels wide 
and <?php echo $height; ?> pixels high.<br>
It was uploaded on <?php echo $today; ?>.
</body>
</html>

mi da questo errore:


Warning: move_uploaded_file(/home/emelozkan.com/immagini/Turanga_Leela.png) [function.move-uploaded-file]: failed to open stream: Permission denied in /home/emelozkan.com/check_image.php on line 19

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpYmsCUe' to '/home/emelozkan.com/immagini/Turanga_Leela.png' in /home/emelozkan.com/check_image.php on line 19

perchè?

Re: Programma Php

Inviato: venerdì 29 febbraio 2008, 22:12
da edgy
controlla di avere i permessi per scrivere nella cartella di destinazione  ;)

[Internet] Re: Programma Php

Inviato: sabato 1 marzo 2008, 0:26
da rodolforizzo76
ok ok ..
ho cambiato i permessi e non mi da più quell'errore, ma non ho risolto ancora il problema, perrchè non mi visualizza l'immagine.
(dovrebbe alla fine visualizzare l'immagine che hai caricato sul sito con la data di inserimento etc etc .... )
Va tutto però non mi visualizza la foto. mi compare quell'icona piccolina al posto della foto!

comunque è già buono che non mi da piu l'errore!!
ciao.

Re: Programma Php

Inviato: sabato 1 marzo 2008, 4:10
da Stoned
rodolforizzo76 ha scritto: ... perrchè non mi visualizza l'immagine.
(dovrebbe alla fine visualizzare l'immagine che hai caricato sul sito con la data di inserimento etc etc .... )
Va tutto però non mi visualizza la foto. mi compare quell'icona piccolina al posto della foto!
Potrebbe essere perchè qui
rodolforizzo76 ha scritto:
$ImageDir ="/home/rodolfo/www/immagini/";
dichiari di mettere l'immagine in "immagini", mentre qui
rodolforizzo76 ha scritto:
" align="left">
la rileggi in "images" ??

[Risolto] Re: [Risolto] Programma Php

Inviato: sabato 1 marzo 2008, 15:05
da rodolforizzo76
Problema risolto!

scusa la mia ignoranza ma sono un novellino! :-[

prometto di migliorare (un giorno riuscirò a fare un programma da solo.) senza scopiazzare.!
ciao.