PHP-Tutorial für einfachen Onlineshop

Status
Nicht offen für weitere Antworten.
http://www.phpwebcommerce.com/index.php

Sehr einfach und gut erklärt.

Datenbank Struktur wie auch alle PHP - Files sind erklärt!

Du hast alle arte von Möglichkeiten. Es ist Onilne verwaltbar und einfach nach zu basteln bzw. um zu Strukturieren. Nur das Umstrukturieren musst du dir halt überlegen.

Ich hab mein ersten selbst gemachten Shop auch so erstellt.

Kurz erklärt:
Category: Listet von der DB alle vorhandenen Kategorien auf
Product: Wenn man auf eine entsprechende Category klickt, listet es alle Producte dieser Kategorie auf die in der DB so verankert wurden
Cart: Hier werden die Produkte die man in den Warenkorb legt Mittels Session in die DB geschrieben und aufgelistet.
BestellFormular: Alle im Warenkorb liegenden Produkte können bestätigt wärden und Per e-Mail an die entsprechende Person weitergeleitet werden um die Bestellung zu vollenden. (keine Kreditkartenzahlung) eher Vorauszahlung oder Vertrauen.
Admin: Loginfunktion - Hinzufügen von neuen Kategorien (mit Bilder die sich auch gleich skalieren) Hinzufügen von Produkten in die Kategorien (jeweils auch mit Bilder die sich Skalieren) löschen, editieren etc. alles vorhanden.

Schau dir das online Demo doch an mehr brauchst du kaum. Da sind alle Funktionen und viele mehr beschrieben. Design kannst du dir dann selbst zusammenstellen.

Ich hab mein Shop so erstellt vor einem oder 2 Jahren und bin zufrieden er ist gut erweiterbar.

Viel spass
 
Der Shop funktioniert an sich problemlos, stoße aber auf ein kleines Problem. Wenn ich im Admin neue Artikel eintrage und ein Bild hochladen möchte, bekomme ich folgende Fehlermeldung:

PHP:
Warning: move_uploaded_file(/www/de/plaincart/images/product/6507869396db32ea2fe34dd3b567206a.gif) [function.move-uploaded-file]: failed to open stream: No such file or directory in /homepages/.../.../.../.../de/plaincart/admin/product/processProduct.php on line 80

Warning: move_uploaded_file() [function.move-uploaded-file]: Unable to move '/tmp/phpQyw7Nl' to '/.../de/plaincart/images/product/6507869396db32ea2fe34dd3b567206a.gif' in /homepages/.../.../.../.../de/plaincart/admin/product/processProduct.php on line 80

Warning: Cannot modify header information - headers already sent by (output started at /homepages/.../.../.../.../de/plaincart/admin/product/processProduct.php:80) in /homepages/.../.../.../.../de/plaincart/admin/product/processProduct.php on line 145

Der Artikel wird zwar in die Datenbank eingetragen, aber ohne Bild. Der Code für das Hochladen der Bilder in der processProduct.php lautet:

PHP:
/*
	Upload an image and return the uploaded image name 
*/
function uploadProductImage($inputName, $uploadDir)
{
	$image     = $_FILES[$inputName];
	$imagePath = '';
	$thumbnailPath = '';
	
	// if a file is given
	if (trim($image['tmp_name']) != '') {
		$ext = substr(strrchr($image['name'], "."), 1); //$extensions[$image['type']];

		// generate a random new file name to avoid name conflict
		$imagePath = md5(rand() * time()) . ".$ext";
		
		list($width, $height, $type, $attr) = getimagesize($image['tmp_name']); 

		// make sure the image width does not exceed the
		// maximum allowed width
		if (LIMIT_PRODUCT_WIDTH && $width > MAX_PRODUCT_IMAGE_WIDTH) {
			$result    = createThumbnail($image['tmp_name'], $uploadDir . $imagePath, MAX_PRODUCT_IMAGE_WIDTH);
			$imagePath = $result;
		} else {
			$result = move_uploaded_file($image['tmp_name'], $uploadDir . $imagePath);
		}	
		
		if ($result) {
			// create thumbnail
			$thumbnailPath =  md5(rand() * time()) . ".$ext";
			$result = createThumbnail($uploadDir . $imagePath, $uploadDir . $thumbnailPath, THUMBNAIL_WIDTH);
			
			// create thumbnail failed, delete the image
			if (!$result) {
				unlink($uploadDir . $imagePath);
				$imagePath = $thumbnailPath = '';
			} else {
				$thumbnailPath = $result;
			}	
		} else {
			// the product cannot be upload / resized
			$imagePath = $thumbnailPath = '';
		}
		
	}

	
	return array('image' => $imagePath, 'thumbnail' => $thumbnailPath);
}

Hat jemand eine Ahnung warum das nicht klappt? Der Autor des Tutorials meldet sich leider nicht ...
 
Hast Du die Pfade für den Upload mal nachgesehen ? Die Fehlermeldung deutet auf ein anderes Root-Verzeichnis hin, als das Script,wo es ausgeführt wird. Es kann auch sein, dass bei Dir (Wie fast überall) SafeMode aktiv ist, und du gar nicht schreiben darfst.

das Script versucht ja erstmal, von HIER:
/www/de/plaincart/images/product/6507869396db32ea2fe34dd3b567206a.gif

zu kopieren, wo das Bild ja nicht ist, da es ja in "/tmp/" ist.
Und danach kopiert er offensichtlich richtig, aber das File ist nicht mehr da (in /tmp/), da es beim "Move" gelöscht wird.

LG
Andy
 
Die Pfade sind eigentlich alle richtig gesetzt, deshalb versteh ich das ja nicht ...

Und ich nutze das Script lokal über MAMP (Mac OS X), und laut phpinfo() ist safe_mode deaktiviert.
 
Zuletzt bearbeitet:
Status
Nicht offen für weitere Antworten.
Zurück