CronJob-Service
bei SELFPHP mit ...
|
+ minütlichen Aufrufen
+ eigenem Crontab Eintrag
+ unbegrenzten CronJobs
+ Statistiken
+ Beispielaufrufen
+ Control-Bereich
Führen Sie mit den CronJobs von
SELFPHP zeitgesteuert Programme
auf Ihrem Server
aus. Weitere Infos
|
:: Anbieterverzeichnis ::
Globale Branchen
Informieren Sie sich über ausgewählte Unternehmen im Anbieterverzeichnis von SELFPHP
:: Newsletter ::
Abonnieren Sie hier den kostenlosen
SELFPHP Newsletter!
|
PHP Grundlagen Hier kann über grundlegende Probleme oder Anfängerschwierigkeiten diskutiert werden |
30.09.2012, 18:42:46
|
Anfänger
|
|
Registriert seit: Sep 2012
Alter: 48
Beiträge: 4
|
|
php fotoupload in spezifischen Userordner
Hey!
Ich poste aus Verzweiflung mein Problem nun mal hier im Forum:
Bin ein Newbie und kann mir daher selbst nach etlichen Versuchen nicht mehr weiterhelfen...
Also ich möchte es Nutzern ermöglichen selbst Bilder für kleine buttons auf meiner Seite hochzuladen und diese sollen dann auf dem Server im Ordner "user_images" abgelegt werden. Jedoch sollen die Bilder nicht nur in den Hauptordner abgelegt werden, sondern sie sollen in einen Ordner der mit der user-id benannt ist abgelegt werden. Dieser ordner muss natürlich dann durch das Skript erstellt werden...und die Bilder (upload und späteres Thumbnail) sollen dann dort abgelegt werden.
Ich bekomme es einfach nicht hin ;-(
Des weiteren soll jedes Bild auch noch mit einer Nummer versehen werden, die mit dem button identisch ist. Auf der Seite befinden sich mehrere Buttons, damit ich diese dann später mit dem Bild verknüpfen kann, wäre es gut wenn ich eine Nummer oder sowas hätte. Hat jmd ne Lösung?
Hier mal das Skript:
PHP-Code:
<?php
include 'dbconfig.php';
page_protect();
$rs_settings = mysql_query("select * from user where id='$_SESSION[user_id]'");
while ($row_settings = mysql_fetch_array($rs_settings));
error_reporting (E_ALL ^ E_NOTICE);
session_start();
//only assign a new timestamp if the session variable is empty
if (!isset($_SESSION['user_id']) || strlen($_SESSION['user_id'])==0){
$_SESSION['user_id'] = mysql_query("select * from user where id='$_SESSION[user_id]'");
//assign the timestamp to the session variable
$_SESSION['user_file_ext']= "";
}
$upload_dir = "user_images/";
$upload_path = $upload_dir;
$large_image_prefix = "Large_";
$thumb_image_prefix = "button_";
$large_image_name = $large_image_prefix.$_SESSION['user_id'];
image (append the timestamp to the filename)
$thumb_image_name = $thumb_image_prefix.$_SESSION['user_id'];
image (append the timestamp to the filename)
$max_file = "1"; // Maximum file size in MB
$max_width = ""; // Max width allowed for the large image
$thumb_width = "87"; // Width of thumbnail image
$thumb_height = "35"; // Height of thumbnail image
// Only one of these image types should be allowed for upload
$allowed_image_types =
array('image/pjpeg'=>"jpg",'image/jpeg'=>"jpg",'image/jpg'=>"jpg",'image/png'=>"png",
'image/x-png'=>"png",'image/gif'=>"gif");
$allowed_image_ext = array_unique($allowed_image_types); // do not change this
$image_ext = ""; // initialise variable, do not change this.
foreach ($allowed_image_ext as $mime_type => $ext) {
$image_ext.= strtoupper($ext)." ";
}
function resizeImage($image,$width,$height,$scale) {
list($imagewidth, $imageheight, $imageType) = getimagesize($image);
$imageType = image_type_to_mime_type($imageType);
$newImageWidth = ceil($width * $scale);
$newImageHeight = ceil($height * $scale);
$newImage = imagecreatetruecolor($newImageWidth,$newImageHeight);
switch($imageType) {
case "image/gif":
$source=imagecreatefromgif($image);
break;
case "image/pjpeg":
case "image/jpeg":
case "image/jpg":
$source=imagecreatefromjpeg($image);
break;
case "image/png":
case "image/x-png":
$source=imagecreatefrompng($image);
break;
}
imagecopyresampled($newImage,$source,0,0,0,0,$newImageWidth,$newImageHeight,
$width,$height);
switch($imageType) {
case "image/gif":
imagegif($newImage,$image);
break;
case "image/pjpeg":
case "image/jpeg":
case "image/jpg":
imagejpeg($newImage,$image,90);
break;
case "image/png":
case "image/x-png":
imagepng($newImage,$image);
break;
}
chmod($image, 0777);
return $image;
}
function resizeThumbnailImage($thumb_image_name, $image, $width, $height, $start_width,
$start_height, $scale){
list($imagewidth, $imageheight, $imageType) = getimagesize($image);
$imageType = image_type_to_mime_type($imageType);
$newImageWidth = ceil($width * $scale);
$newImageHeight = ceil($height * $scale);
$newImage = imagecreatetruecolor($newImageWidth,$newImageHeight);
switch($imageType) {
case "image/gif":
$source=imagecreatefromgif($image);
break;
case "image/pjpeg":
case "image/jpeg":
case "image/jpg":
$source=imagecreatefromjpeg($image);
break;
case "image/png":
case "image/x-png":
$source=imagecreatefrompng($image);
break;
}
imagecopyresampled($newImage,$source,0,0,$start_width,$start_height,$newImageWidth,
$newImageHeight,$width,$height);
switch($imageType) {
case "image/gif":
imagegif($newImage,$thumb_image_name);
break;
case "image/pjpeg":
case "image/jpeg":
case "image/jpg":
imagejpeg($newImage,$thumb_image_name,90);
break;
case "image/png":
case "image/x-png":
imagepng($newImage,$thumb_image_name);
break;
}
chmod($thumb_image_name, 0777);
return $thumb_image_name;
}
function getHeight($image) {
$size = getimagesize($image);
$height = $size[1];
return $height;
}
function getWidth($image) {
$size = getimagesize($image);
$width = $size[0];
return $width;
}
$large_image_location = $upload_path.$large_image_name.$_SESSION['user_file_ext'];
$thumb_image_location = $upload_path.$thumb_image_name.$_SESSION['user_file_ext'];
if(!is_dir($upload_dir)){
mkdir($upload_dir, 0777);
chmod($upload_dir, 0777);
}
if (file_exists($large_image_location)){
if(file_exists($thumb_image_location)){
$thumb_photo_exists = "<img
src=\"".$upload_path.$thumb_image_name.$_SESSION['user_file_ext']."\" alt=\"Thumbnail
Image\"/>";
}else{
$thumb_photo_exists = "";
}
$large_photo_exists = "<img
src=\"".$upload_path.$large_image_name.$_SESSION['user_file_ext']."\" alt=\"Large
Image\"/>";
} else {
$large_photo_exists = "";
$thumb_photo_exists = "";
}
if (isset($_POST["upload"])) {
//Get the file information
$userfile_name = $_FILES['image']['name'];
$userfile_tmp = $_FILES['image']['tmp_name'];
$userfile_size = $_FILES['image']['size'];
$userfile_type = $_FILES['image']['type'];
$filename = basename($_FILES['image']['name']);
$file_ext = strtolower(substr($filename, strrpos($filename, '.') + 1));
//Only process if the file is a JPG, PNG or GIF and below the allowed limit
if((!empty($_FILES["image"])) && ($_FILES['image']['error'] == 0)) {
foreach ($allowed_image_types as $mime_type => $ext) {
//loop through the specified image types and if they match the
extension then break out
//everything is ok so go and check file size
if($file_ext==$ext && $userfile_type==$mime_type){
$error = "";
break;
}else{
$error = "Only <strong>".$image_ext."</strong> images accepted for upload<br />";
}
}
//check if the file size is above the allowed limit
if ($userfile_size > ($max_file*1048576)) {
$error.= "Images must be under ".$max_file."MB in size";
}
}else{
$error= "Select an image for upload";
}
//Everything is ok, so we can upload the image.
if (strlen($error)==0){
if (isset($_FILES['image']['name'])){
//this file could now has an unknown file extension (we hope it's one of the ones set above!)
$large_image_location = $large_image_location.".".$file_ext;
$thumb_image_location = $thumb_image_location.".".$file_ext;
//put the file ext in the session so we know what file to look for once its uploaded
$_SESSION['user_file_ext']=".".$file_ext;
move_uploaded_file($userfile_tmp, $large_image_location);
chmod($large_image_location, 0777);
$width = getWidth($large_image_location);
$height = getHeight($large_image_location);
//Scale the image if it is greater than the width set above
if ($width > $max_width){
$scale = $max_width/$width;
$uploaded = resizeImage($large_image_location,$width,$height,$scale);
}else{
$scale = 1;
$uploaded = resizeImage($large_image_location,$width,$height,$scale);
}
//Delete the thumbnail file so the user can create a new one
if (file_exists($thumb_image_location)) {
unlink($thumb_image_location);
}
}
//Refresh the page to show the new uploaded image
header("location:".$_SERVER["PHP_SELF"]);
exit();
}
?>
Wäre für Hilfe sehr dankbar, da ich weider mal komplett am verzweifeln bin! :(
Danke euch!
|
01.10.2012, 07:59:20
|
Member
|
|
Registriert seit: Nov 2007
Beiträge: 843
|
|
AW: php fotoupload in spezifischen Userordner
Hi
Zitat:
Wäre für Hilfe sehr dankbar, da ich weider mal komplett am verzweifeln bin! :(
|
Ich mags ja keinem unterstellen, aber... Du kopierst Code und verstehst ihn nicht
und scheinst auch ihn nicht verstehen zu wollen, sondern willst nur schnell dein Ergebnis!
Läuft hier nicht und da -> stackoverflow auch nicht.
Du verstehst ja nicht mal das
PHP-Code:
$_SESSION['user_id'] = mysql_query("select * from user where id='$_SESSION[user_id]'");
gegenüber
Code aus alter Beitrag
PHP-Code:
$result = mysql_query("select * from users where id='$_SESSION[user_id]'");
erstmal dein Problem ist.
Bitte fang an PHP zu lernen oder such dir einen der es kann, so hat es für mich nur
den anschein alle helfenden auszunutzen.
mfg
CKaos
__________________
"Wenn die Leute Häuser so bauen würden, wie wir Programme schreiben, würde der erstbeste Specht unsere Zivilisation zerhacken."
In den allermeisten Fällen sitzt der Bug etwa 40 cm vor dem Monitor!
|
01.10.2012, 10:53:17
|
Anfänger
|
|
Registriert seit: Sep 2012
Alter: 48
Beiträge: 4
|
|
AW: php fotoupload in spezifischen Userordner
Morgen Ckaos!
Alsoooo...sorry dass du dich angegriffen fühlst, ABER...ich frage doch um Hilfe für spezifische Probleme, was ist daran so falsch?
Richtig ich bin kein Coder, sondern versuche mit learning by doing mit dem Ganzen warm zu werden, daher kann ich dir nicht jeden php schnipsel einzeln nennen...SORRY. Versuche halt eben Code für meinen Zweck zu tweaken, darf ich so etwa nicht lernen und freizeitlich arbeiten?
Und richtig, ich versuche mir auf mehreren Foren helfen zu lassen, seh ich nicht als Problem oder Ausnutzung an...ich möchte doch nur Hilfe!
Falls ich dann bei dir zum Thema Hilfe an der richtigen Stelle bin...und du php ja anscheinend komplett drauf hast, dann sei mir doch gerne behilflich, anstatt mich als Unwissenden direkt an den Pranger zu stellen.
Kannst mir gerne Fehler erläutern, weil dann kann ich das ja auch erst verstehen und daraus lernen!
Hoffe du bekommst das nun nicht in den falschen Hals...ist nicht böse gemeint oder als Angriff zu werten, ja?
freundlichen Gruß und DANKE
|
01.10.2012, 12:45:00
|
|
Administrator
|
|
Registriert seit: Jul 2004
Beiträge: 3.707
|
|
AW: php fotoupload in spezifischen Userordner
Zitat:
Zitat von fab_t
[...]
Richtig ich bin kein Coder, sondern versuche mit learning by doing mit dem Ganzen warm zu werden, ...
|
1. Mögen wir hier kein Crossposting - wenn es nicht benannt wird.
2. Das nach einer Hilfestellung kein Feedback kommt.
3. Literatur und Nachschlagewerke, die Du kennen / mit denen Du arbeiten solltest: - PHP Handbuch
- PHP Tutorial
- PHP FAQ
- PHP Kompendium
- MySQL Tutorial
und bis dahin:
[mod: closed]
__________________
Gruss vt1816
Erwarte nicht, dass sich jemand mehr Mühe mit der Antwort gibt als Du Dir mit der Frage.
. . . . . Feedback wäre wünschenswert
Ich werde keinen privaten 1:1 Support leisten, außer ich biete ihn ausdrücklich an.
Ansosnten gilt: Hilfe ausserhalb dieses Thread (PN, WhatsApp, Skype, Mail, ICQ, etc...) nur per Barzahlung oder Vorauskasse!
Wenn man sich selbst als "Noob" bezeichnet, sollte man die Finger davon lassen.
Wenn man gewillt ist daran etwas zu ändern, lernt man Grundlagen!
|
Aktive Benutzer in diesem Thema: 1 (Registrierte Benutzer: 0, Gäste: 1)
|
|
Themen-Optionen |
|
Ansicht |
Linear-Darstellung
|
Forumregeln
|
Es ist Ihnen nicht erlaubt, neue Themen zu verfassen.
Es ist Ihnen nicht erlaubt, auf Beiträge zu antworten.
Es ist Ihnen nicht erlaubt, Anhänge hochzuladen.
Es ist Ihnen nicht erlaubt, Ihre Beiträge zu bearbeiten.
HTML-Code ist aus.
|
|
|
Alle Zeitangaben in WEZ +2. Es ist jetzt 12:48:51 Uhr.
|