να δέχεται και τα αρχεία jpg.

Σε αυτή την περιοχή μπορείτε να βρείτε ή να αναζητήσετε πληροφορίες σχετικές με την PHP

Συντονιστές: WebDev Moderators, Super-Moderators, PHP Moderators

Απάντηση
Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

να δέχεται και τα αρχεία jpg.

Δημοσίευση από vassilism » 14 Οκτ 2007 20:04

Αγαπητοί Developers του Freestuff, κόλλησα για άλλη μια φορά και θα ήθελα την πολύτιμη βοήθειά σας σε 2 ερωτήσεις.

Ερώτηση 1:

Σε αυτό το κομμάτι κώδικα αν ο χρήστης δεν έχει επιλέξει ένα αρχείο gif, το script τερματίζετε.

Κώδικας: Επιλογή όλων

if (is_uploaded_file($tmp_name)) { 
if (substr($name,strlen($name)-3,strlen($name)) != "gif") {
echo "Επιλέξτε ένα αρχείο gif."; 
exit; 
} }

Αυτό που θέλω να κάνω είναι να δέχεται και τα αρχεία jpg.
Πρέπει να γίνετε κάπως έτσι != "gif",!= "jpg" άλλα δεν ξέρω πώς να το συντάξω.

Ερώτηση 2:

Σε αυτό το κομμάτι κώδικα εμφανίζετέ μια εικόνα σαν link που υπάρχει στον server.

Κώδικας: Επιλογή όλων

echo&#40;"<p><a href=\"&#123;$rows&#91;'upload_url'&#93;&#125;&#123;$rows&#91;'file_name'&#93;&#125;\"><img src=\"&#123;$rows&#91;'upload_url'&#93;&#125;&#123;$rows&#91;'file_name'&#93;&#125;\" width=120 height=120 border=0 title=\"foto\"></a></p>"&#41;;  
Αυτό που θέλω να κάνω είναι αν η εικόνα δεν υπάρχει στον server να εμφανίζετε μια συγκεκριμένη εικόνα που υπάρχει στον server π.χ η 1.jpg.

Άβαταρ μέλους
Alice_Cooper
Δημοσιεύσεις: 1947
Εγγραφή: 11 Μάιος 2007 00:33
Τοποθεσία: Ioannina
Επικοινωνία:

να δέχεται και τα αρχεία jpg.

Δημοσίευση από Alice_Cooper » 14 Οκτ 2007 20:44

1)

Κώδικας: Επιλογή όλων

if &#40;substr&#40;$name,strlen&#40;$name&#41;-3,strlen&#40;$name&#41;&#41; != "gif" || substr&#40;$name,strlen&#40;$name&#41;-3,strlen&#40;$name&#41;&#41; != "jpg" || bla bla&#41; &#123; echo "Επιλέξτε ένα αρχείο gif.";
exit;  &#125;
2)

Κώδικας: Επιλογή όλων

if &#40;file_exists&#40;$rows&#91;'file_name'&#93;&#41;  &#123;
echo&#40;"<p><a href=\"&#123;$rows&#91;'upload_url'&#93;&#125;&#123;$rows&#91;'file_name'&#93;&#125;\"><img src=\"&#123;$rows&#91;'upload_url'&#93;&#125;&#123;$rows&#91;'file_name'&#93;&#125;\" width=120 height=120 border=0 title=\"foto\"></a></p>"&#41;; &#125; 
else &#123;bla bla &#125;

Άβαταρ μέλους
dik_
Δημοσιεύσεις: 476
Εγγραφή: 07 Ιουν 2007 11:28

να δέχεται και τα αρχεία jpg.

Δημοσίευση από dik_ » 14 Οκτ 2007 21:15

Ένας λίγο πιο manageable τρόπος για το πρώτο:

Κώδικας: Επιλογή όλων

$allowed_ext = array&#40;"gif", "jpg", "png"&#41;;

if &#40;!in_array&#40;substr&#40;$name,strlen&#40;$name&#41;-3,strlen&#40;$name&#41;&#41;, $allowed_ext&#41;&#41;&#123;
	echo "<p>Please upload a file with one of the following extensions&#58;</p>";
	echo "<p>".implode&#40;", ", $allowed_ext&#41;."</p>";
	exit;
&#125;
Κι ένας λίγο πιο σύντομος για το 2ο:

Κώδικας: Επιλογή όλων

$fname = file_exists&#40;$rows&#91;'file_name'&#93; ? $rows&#91;'file_name'&#93; &#58; "1.jpg";
echo "<p><a href=\"&#123;$rows&#91;'upload_url'&#93;&#125;&#123;$fname&#125;\"><img src=\"&#123;$rows&#91;'upload_url'&#93;&#125;&#123;$fname&#125;\" width=120 height=120 border=0 title=\"foto\"></a></p>";

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

να δέχεται και τα αρχεία jpg.

Δημοσίευση από vassilism » 14 Οκτ 2007 23:01

Alice_Cooper και dik_ σας ευχαριστώ θερμά.
Χρησιμοποίησα τις συμβουλές και των δυο σας και το έφτιαξα.
Σιγά σιγά έχω φτιάξει ένα script για upload που αποθηκεύει και εγγραφές στην mysql.
Το script δουλεύει πολύ καλά, αλλά αν δεν επιλέξω κάποιο αρχείο δεν μου καταχωρεί τις άλλες εγγραφές.
Υπάρχει κάποιος τρόπος που να μου καταχωρεί τις εγγραφές και σε περίπτωση που δεν επιλέξω αρχείο?

Κώδικας: Επιλογή όλων

<?php 
$upload_path = $_SERVER&#91;'DOCUMENT_ROOT'&#93; . "/fotos/";
$upload_url = "http&#58;//www.lernijuices.com/fotos/";
  
if &#40;count&#40;$_FILES&#91;'file'&#93;&#41;&#41; &#123; 
      $tmp_name = $_FILES&#91;'file'&#93;&#91;'tmp_name'&#93;; 
      $name = $_FILES&#91;'file'&#93;&#91;'name'&#93;; 
      $size = $_FILES&#91;'file'&#93;&#91;'size'&#93;; 
      $size = &#40;$size >= 5024&#41; ? floor&#40;$size / 5024&#41; . "kbytes" &#58; $size . "bytes"; 

$allowed_ext = array&#40;"gif", "jpg", "png", "bmp", "ico"&#41;; 
if &#40;!in_array&#40;substr&#40;$name,strlen&#40;$name&#41;-3,strlen&#40;$name&#41;&#41;, $allowed_ext&#41;&#41;&#123; 
 echo "Η εγγραφή δεν καταχωρήθηκε.<br>Το αρχείο που επιλέξατε δεν αντιστοιχεί σε εικόνα.<br>Επιλέξτε ένα αρχείο εικόνας&#58; ".implode&#40;", ", $allowed_ext&#41;."";
   echo "<p><a href=\"javascript&#58;history.back&#40;-1&#41;;\" class=\"selidopoiisi\">&#91;Πίσω&#93;</a></p>";  
   exit; 
&#125;  
if &#40;file_exists&#40;$upload_path . "/" . $name&#41;&#41; &#123; 
echo "Η εγγραφή δεν καταχωρήθηκε.<br>Το αρχείο που επιλέξατε υπάρχει ήδη.<br>Αλλάξτε το όνομα του αρχείου και προσπαθήστε ξανά.";
echo "<p><a href=\"javascript&#58;history.back&#40;-1&#41;;\" class=\"selidopoiisi\">&#91;Πίσω&#93;</a></p>";  
exit;  
         &#125; 
if &#40;move_uploaded_file&#40;$tmp_name,$upload_path . "/" . $_FILES&#91;'file'&#93;&#91;'name'&#93;&#41;&#41; &#123; 
echo "Το αρχείο καταχωρήθηκε επιτυχώς.<br /><br />Όνομα αρχείου&#58; " . $name . "<br />Μέγεθος&#58; " . $size; 
         &#125; else &#123; 
            echo "Δεν ήταν δυνατή η καταχώρηση του αρχείου."; 
         &#125; 
      &#125; else &#123; 
         echo "Δεν ήταν δυνατή η καταχώρηση του αρχείου."; 
      &#125; 
$id = $_POST&#91;"id"&#93;;
$name = $_POST&#91;"name"&#93;;		 
//Create a connection to MySQL and select "my_db" database
        $con = mysql_connect&#40;"localhost","user","pas"&#41; 
        or die&#40; 'Could not connect to DB&#58; ' . mysql_error&#40;&#41; &#41;;
        mysql_select_db&#40;"lernijui_epafes", $con&#41; or die&#40;mysql_error&#40;&#41;&#41;;
        mysql_query&#40;"SET NAMES 'utf8'", $con&#41;;		
//Create query        
$query = "insert into imageuploads values &#40;'".$id."','".$upload_url."','".$file_name."','".$name."'&#41;"; 
		 $result = mysql_query&#40;$query&#41;; 
           &#123; 
echo&#40; "<P>Η εγγραφή  καταχωρήθηκε.</P>" &#41;; 
&#125;     
?>

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

να δέχεται και τα αρχεία jpg.

Δημοσίευση από fafos » 14 Οκτ 2007 23:27

vassilism έγραψε:Alice_Cooper και dik_ σας ευχαριστώ θερμά.
Χρησιμοποίησα τις συμβουλές και των δυο σας και το έφτιαξα.
Σιγά σιγά έχω φτιάξει ένα script για upload που αποθηκεύει και εγγραφές στην mysql.
Το script δουλεύει πολύ καλά, αλλά αν δεν επιλέξω κάποιο αρχείο δεν μου καταχωρεί τις άλλες εγγραφές.
Υπάρχει κάποιος τρόπος που να μου καταχωρεί τις εγγραφές και σε περίπτωση που δεν επιλέξω αρχείο?

Κώδικας: Επιλογή όλων

<?php 
$upload_path = $_SERVER&#91;'DOCUMENT_ROOT'&#93; . "/fotos/";
$upload_url = "http&#58;//www.lernijuices.com/fotos/";
  
if &#40;count&#40;$_FILES&#91;'file'&#93;&#41;&#41; &#123; 
      $tmp_name = $_FILES&#91;'file'&#93;&#91;'tmp_name'&#93;; 
      $name = $_FILES&#91;'file'&#93;&#91;'name'&#93;; 
      $size = $_FILES&#91;'file'&#93;&#91;'size'&#93;; 
      $size = &#40;$size >= 5024&#41; ? floor&#40;$size / 5024&#41; . "kbytes" &#58; $size . "bytes"; 

$allowed_ext = array&#40;"gif", "jpg", "png", "bmp", "ico"&#41;; 
if &#40;!in_array&#40;substr&#40;$name,strlen&#40;$name&#41;-3,strlen&#40;$name&#41;&#41;, $allowed_ext&#41;&#41;&#123; 
 echo "Η εγγραφή δεν καταχωρήθηκε.<br>Το αρχείο που επιλέξατε δεν αντιστοιχεί σε εικόνα.<br>Επιλέξτε ένα αρχείο εικόνας&#58; ".implode&#40;", ", $allowed_ext&#41;."";
   echo "<p><a href="javascript&#58;history.back&#40;-1&#41;;" class="selidopoiisi">&#91;Πίσω&#93;</a></p>";  
   exit; 
&#125;  
if &#40;file_exists&#40;$upload_path . "/" . $name&#41;&#41; &#123; 
echo "Η εγγραφή δεν καταχωρήθηκε.<br>Το αρχείο που επιλέξατε υπάρχει ήδη.<br>Αλλάξτε το όνομα του αρχείου και προσπαθήστε ξανά.";
echo "<p><a href="javascript&#58;history.back&#40;-1&#41;;" class="selidopoiisi">&#91;Πίσω&#93;</a></p>";  
exit;  
         &#125; 
if &#40;move_uploaded_file&#40;$tmp_name,$upload_path . "/" . $_FILES&#91;'file'&#93;&#91;'name'&#93;&#41;&#41; &#123; 
echo "Το αρχείο καταχωρήθηκε επιτυχώς.<br /><br />Όνομα αρχείου&#58; " . $name . "<br />Μέγεθος&#58; " . $size; 
         &#125; else &#123; 
            echo "Δεν ήταν δυνατή η καταχώρηση του αρχείου."; 
         &#125; 
      &#125; else &#123; 
         echo "Δεν ήταν δυνατή η καταχώρηση του αρχείου."; 
      &#125; 
$id = $_POST&#91;"id"&#93;;
$name = $_POST&#91;"name"&#93;;		 
//Create a connection to MySQL and select "my_db" database
        $con = mysql_connect&#40;"localhost","user","pas"&#41; 
        or die&#40; 'Could not connect to DB&#58; ' . mysql_error&#40;&#41; &#41;;
        mysql_select_db&#40;"lernijui_epafes", $con&#41; or die&#40;mysql_error&#40;&#41;&#41;;
        mysql_query&#40;"SET NAMES 'utf8'", $con&#41;;		
//Create query        
$query = "insert into imageuploads values &#40;'".$id."','".$upload_url."','".$file_name."','".$name."'&#41;"; 
		 $result = mysql_query&#40;$query&#41;; 
           &#123; 
echo&#40; "<P>Η εγγραφή  καταχωρήθηκε.</P>" &#41;; 
&#125;     
?>
Geia sou patrida!! :D

gia poion logo thes na kataxoreis xoris na exeis anevasei to arxeio?

Den sou kataxorei tis eggrafes logo tou if pou dineis gia to arxeio:
if (move_uploaded_file($tmp_name,$upload_path . "/" . $_FILES['file']['name'])) { ....

opote prepei na valeis to query prin to if (move_uploaded_file.. kai na zhthseis kai ekei ena if:

Κώδικας: Επιλογή όλων

if&#40;$_POST&#91;"id"&#93;&#41; &#123;
$id = $_POST&#91;"id"&#93;;
$name = $_POST&#91;"name"&#93;;		 
//Create a connection to MySQL and select "my_db" database
        $con = mysql_connect&#40;"localhost","user","pas"&#41; 
        or die&#40; 'Could not connect to DB&#58; ' . mysql_error&#40;&#41; &#41;;
        mysql_select_db&#40;"lernijui_epafes", $con&#41; or die&#40;mysql_error&#40;&#41;&#41;;
        mysql_query&#40;"SET NAMES 'utf8'", $con&#41;;		
//Create query        
$query = "insert into imageuploads values &#40;'".$id."','".$upload_url."','".$file_name."','".$name."'&#41;"; 
		 $result = mysql_query&#40;$query&#41;; 
           &#123; 
echo&#40; "<P>Η εγγραφή  καταχωρήθηκε.</P>" &#41;; 
&#125;

if &#40;move_uploaded_file&#40;$tmp_name,$upload_path . "/" . $_FILES&#91;'file'&#93;&#91;'name'&#93;&#41;&#41; &#123; 
echo "Το αρχείο καταχωρήθηκε επιτυχώς.<br /><br />Όνομα αρχείου&#58; " . $name . "<br />Μέγεθος&#58; " . $size; 
         &#125; else &#123; 
            echo "Δεν ήταν δυνατή η καταχώρηση του αρχείου."; 
         &#125; 
      &#125; else &#123; 
         echo "Δεν ήταν δυνατή η καταχώρηση του αρχείου."; 
      &#125; 

&#125;     

Άβαταρ μέλους
vassilism
Δημοσιεύσεις: 1950
Εγγραφή: 17 Μαρ 2007 14:47
Επικοινωνία:

να δέχεται και τα αρχεία jpg.

Δημοσίευση από vassilism » 15 Οκτ 2007 01:06

fafos δυστηχώς δεν δουλεύει, αλλά σιγά σιγά θα το φτιάξω.
Απο που είσαι?

Άβαταρ μέλους
fafos
Script Master
Δημοσιεύσεις: 6231
Εγγραφή: 30 Νοέμ 2004 03:09

να δέχεται και τα αρχεία jpg.

Δημοσίευση από fafos » 15 Οκτ 2007 03:20

vassilism έγραψε: Απο που είσαι?
gennhmenos 6-7 xlm anatolika :D

Απάντηση

Επιστροφή στο “PHP Προγραμματισμός”

Μέλη σε σύνδεση

Μέλη σε αυτήν τη Δ. Συζήτηση: Δεν υπάρχουν εγγεγραμμένα μέλη και 2 επισκέπτες